X-Git-Url: http://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Fgnus-sum.el;h=789308c4ab90b70e861ffeb36bd9749b77f38e5f;hb=d7925de009d5e3047e07e52657d7312d9f97979c;hp=f246163ce4f294fac5df46bb0c7bd54e2dbb6fec;hpb=9b62093dc22a77071f394077d2883cc12aabb8f1;p=gnus diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el index f246163ce..789308c4a 100644 --- a/lisp/gnus-sum.el +++ b/lisp/gnus-sum.el @@ -1235,8 +1235,9 @@ For example: ((1 . cn-gb-2312) (2 . big5))." :group 'gnus-summary-marks) (defcustom gnus-propagate-marks t - "If non-nil, do not propagate marks to the backends." - :version "23.1" ;; No Gnus + "If non-nil, Gnus will store and retrieve marks from the backends. +This means that marks will be stored both in .newsrc.eld and in +the backend, and will slow operation down somewhat." :type 'boolean :group 'gnus-summary-marks) @@ -4067,6 +4068,7 @@ If NO-DISPLAY, don't generate a summary buffer." ;; gnus-summary-prepare-hook since kill processing may not ;; work with hidden articles. (gnus-summary-maybe-hide-threads) + (gnus-configure-windows 'summary) (when kill-buffer (gnus-kill-or-deaden-summary kill-buffer)) (gnus-summary-auto-select-subject) @@ -4076,7 +4078,6 @@ If NO-DISPLAY, don't generate a summary buffer." gnus-newsgroup-unreads gnus-auto-select-first) (progn - (gnus-configure-windows 'summary) (let ((art (gnus-summary-article-number))) (unless (and (not gnus-plugged) (or (memq art gnus-newsgroup-undownloaded) @@ -7168,6 +7169,7 @@ If FORCE (the prefix), also save the .newsrc file(s)." (let* ((group gnus-newsgroup-name) (quit-config (gnus-group-quit-config gnus-newsgroup-name)) (gnus-group-is-exiting-p t) + (article-buffer gnus-article-buffer) (mode major-mode) (group-point nil) (buf (current-buffer))) @@ -7234,11 +7236,11 @@ If FORCE (the prefix), also save the .newsrc file(s)." ;; If we have several article buffers, we kill them at exit. (unless gnus-single-article-buffer - (when (gnus-buffer-live-p gnus-article-buffer) - (with-current-buffer gnus-article-buffer + (when (gnus-buffer-live-p article-buffer) + (with-current-buffer article-buffer ;; Don't kill sticky article buffers (unless (eq major-mode 'gnus-sticky-article-mode) - (gnus-kill-buffer gnus-article-buffer) + (gnus-kill-buffer article-buffer) (setq gnus-article-current nil)))) (gnus-kill-buffer gnus-original-article-buffer)) @@ -7732,6 +7734,7 @@ If BACKWARD, the previous article is selected instead of the next." (point (with-current-buffer gnus-group-buffer (point))) + (current-summary (current-buffer)) (group (if (eq gnus-keep-same-level 'best) (gnus-summary-best-group gnus-newsgroup-name) @@ -7756,6 +7759,10 @@ If BACKWARD, the previous article is selected instead of the next." (gnus-summary-next-group nil group backward))) (t (when (gnus-key-press-event-p last-input-event) + ;; Somehow or other, we may now have selected a different + ;; window. Make point go back to the summary buffer. + (when (eq current-summary (current-buffer)) + (select-window (get-buffer-window current-summary))) (gnus-summary-walk-group-buffer gnus-newsgroup-name cmd unread backward point))))))))