Mercurial > emacs
diff lisp/gnus/gnus-sum.el @ 100993:a16e9f7c2536
Merge from gnus--devo--0
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-1513
author | Miles Bader <miles@gnu.org> |
---|---|
date | Fri, 09 Jan 2009 03:01:50 +0000 |
parents | a9dc0e7c3f2b |
children | 0ffd7b9d2985 |
line wrap: on
line diff
--- a/lisp/gnus/gnus-sum.el Fri Jan 09 02:59:52 2009 +0000 +++ b/lisp/gnus/gnus-sum.el Fri Jan 09 03:01:50 2009 +0000 @@ -3455,9 +3455,9 @@ (defun gnus-summary-set-article-display-arrow (pos) "Update the overlay arrow to point to line at position POS." - (when (and gnus-summary-display-arrow - (boundp 'overlay-arrow-position) - (boundp 'overlay-arrow-string)) + (when gnus-summary-display-arrow + (make-local-variable 'overlay-arrow-position) + (make-local-variable 'overlay-arrow-string) (save-excursion (goto-char pos) (beginning-of-line) @@ -3832,10 +3832,15 @@ (consp (cdr elem)) ; The cdr has to be a list. (symbolp (car elem)) ; Has to be a symbol in there. (not (memq (car elem) vars)) - (ignore-errors ; So we set it. + (ignore-errors (push (car elem) vars) - (make-local-variable (car elem)) - (set (car elem) (eval (nth 1 elem)))))))) + ;; Variables like `gnus-show-threads' that are globally + ;; bound, if used as group parameters, need to get to be + ;; buffer-local, whereas just parameters like `gcc-self', + ;; `timestamp', etc. should not be bound as variables. + (if (boundp (car elem)) + (set (make-local-variable (car elem)) (eval (nth 1 elem))) + (eval (nth 1 elem)))))))) (defun gnus-summary-read-group (group &optional show-all no-article kill-buffer no-display backward