| author | Chong Yidong <cyd@gnu.org> | 2012-09-07 04:26:17 (GMT) |
|---|---|---|
| committer | Katsumi Yamaoka <yamaoka@jpl.org> | 2012-09-07 04:26:17 (GMT) |
| commit | 2df323a009ddd334ef992f32b7a8441daa6b6256 (patch) (side-by-side diff) | |
| tree | 6fec636e798a85091642656287cae19f49f8f630 | |
| parent | f4b7a91b0d9643734042ca05e02a79aafee8fbf9 (diff) | |
| download | gnus-2df323a009ddd334ef992f32b7a8441daa6b6256.zip | |
Partially revert last Gnus merge
The add-face function has been added gnus-compat.el, but is not in
Emacs; this leaves Gnus in an unusable state.
* lisp/gnus/gnus-salt.el (gnus-tree-highlight-node):
* lisp/gnus/gnus-sum.el (gnus-summary-highlight-line):
* lisp/gnus/gnus-group.el (gnus-group-highlight-line): Revert use of add-face.
* lisp/gnus/gnus-util.el
(gnus-put-text-property-excluding-characters-with-faces): Restore.
| -rw-r--r-- | lisp/ChangeLog | 9 | ||||
| -rw-r--r-- | lisp/gnus-group.el | 4 | ||||
| -rw-r--r-- | lisp/gnus-salt.el | 4 | ||||
| -rw-r--r-- | lisp/gnus-sum.el | 5 | ||||
| -rw-r--r-- | lisp/gnus-util.el | 13 |
5 files changed, 31 insertions, 4 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 880b7d8..1f9de72 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,12 @@ +2012-09-07 Chong Yidong <cyd@gnu.org> + + * gnus-util.el + (gnus-put-text-property-excluding-characters-with-faces): Restore. + + * gnus-salt.el (gnus-tree-highlight-node): + * gnus-sum.el (gnus-summary-highlight-line): + * gnus-group.el (gnus-group-highlight-line): Revert use of add-face. + 2012-09-06 Lars Ingebrigtsen <larsi@gnus.org> * gnus-util.el: Fix compilation error on XEmacs 21.4. diff --git a/lisp/gnus-group.el b/lisp/gnus-group.el index 0dc4b81..a19ba4d 100644 --- a/lisp/gnus-group.el +++ b/lisp/gnus-group.el @@ -1669,7 +1669,9 @@ and ends at END." gnus-group-highlight)))) (unless (eq face (get-text-property beg 'face)) (let ((inhibit-read-only t)) - (add-face beg end (if (boundp face) (symbol-value face) face))) + (gnus-put-text-property-excluding-characters-with-faces + beg end 'face + (if (boundp face) (symbol-value face) face))) (gnus-extent-start-open beg)))) (defun gnus-group-get-icon (group) diff --git a/lisp/gnus-salt.el b/lisp/gnus-salt.el index 87a1202..760a7a0 100644 --- a/lisp/gnus-salt.el +++ b/lisp/gnus-salt.el @@ -660,7 +660,9 @@ Two predefined functions are available: (not (eval (caar list)))) (setq list (cdr list))))) (unless (eq (setq face (cdar list)) (get-text-property beg 'face)) - (add-face beg end (if (boundp face) (symbol-value face) face))))) + (gnus-put-text-property-excluding-characters-with-faces + beg end 'face + (if (boundp face) (symbol-value face) face))))) (defun gnus-tree-indent (level) (insert (make-string (1- (* (1+ gnus-tree-node-length) level)) ? ))) diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el index e8e9478..efbcb4d 100644 --- a/lisp/gnus-sum.el +++ b/lisp/gnus-sum.el @@ -12533,8 +12533,9 @@ If REVERSE, save parts that do not match TYPE." (not (memq article gnus-newsgroup-cached))))) (let ((face (funcall (gnus-summary-highlight-line-0)))) (unless (eq face (get-text-property beg 'face)) - (add-face beg (point-at-eol) - (setq face (if (boundp face) (symbol-value face) face))) + (gnus-put-text-property-excluding-characters-with-faces + beg (point-at-eol) 'face + (setq face (if (boundp face) (symbol-value face) face))) (when gnus-summary-highlight-line-function (funcall gnus-summary-highlight-line-function article face)))))) diff --git a/lisp/gnus-util.el b/lisp/gnus-util.el index 0c048e6..4c5eaba 100644 --- a/lisp/gnus-util.el +++ b/lisp/gnus-util.el @@ -866,6 +866,19 @@ If there's no subdirectory, delete DIRECTORY as well." (setq beg (point))) (gnus-overlay-put (gnus-make-overlay beg (point)) prop val))))) +(defun gnus-put-text-property-excluding-characters-with-faces (beg end + prop val) + "The same as `put-text-property', but don't put props on characters with the `gnus-face' property." + (let ((b beg)) + (while (/= b end) + (when (get-text-property b 'gnus-face) + (setq b (next-single-property-change b 'gnus-face nil end))) + (when (/= b end) + (inline + (gnus-put-text-property + b (setq b (next-single-property-change b 'gnus-face nil end)) + prop val)))))) + (defmacro gnus-faces-at (position) "Return a list of faces at POSITION." (if (featurep 'xemacs) |
