From 575138d0ad7a50099acb46503c565ef5b9d3289f Mon Sep 17 00:00:00 2001 From: Katsumi Yamaoka Date: Fri, 12 May 2006 06:18:16 +0000 Subject: [PATCH] * gnus-art.el (gnus-article-setup-buffer): Go to summary buffer first to test gnus-single-article-buffer which may be buffer-local. * gnus-sum.el (gnus-summary-setup-buffer): Make gnus-single-article-buffer buffer-local and nil in ephemeral group; make gnus-article-buffer, gnus-article-current, and gnus-original-article-buffer always buffer-local. (gnus-summary-exit): Kill article buffer belonging to ephemeral group. (gnus-handle-ephemeral-exit): Don't move to next summary line. --- lisp/ChangeLog | 13 +++++++++++++ lisp/gnus-art.el | 7 +++---- lisp/gnus-sum.el | 24 +++++++++--------------- 3 files changed, 25 insertions(+), 19 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 90cef8a1a..0f12978d9 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,16 @@ +2006-05-12 Katsumi Yamaoka + + * gnus-art.el (gnus-article-setup-buffer): Go to summary buffer + first to test gnus-single-article-buffer which may be buffer-local. + + * gnus-sum.el (gnus-summary-setup-buffer): Make + gnus-single-article-buffer buffer-local and nil in ephemeral + group; make gnus-article-buffer, gnus-article-current, and + gnus-original-article-buffer always buffer-local. + (gnus-summary-exit): Kill article buffer belonging to ephemeral + group. + (gnus-handle-ephemeral-exit): Don't move to next summary line. + 2006-05-08 Reiner Steib * nnml.el (nnml-request-compact-group): Compressed files might not diff --git a/lisp/gnus-art.el b/lisp/gnus-art.el index 173f96dbd..6f1e0e7de 100644 --- a/lisp/gnus-art.el +++ b/lisp/gnus-art.el @@ -3996,10 +3996,9 @@ commands: (setq gnus-article-buffer name) (setq gnus-original-article-buffer original) (setq gnus-article-mime-handle-alist nil) - ;; This might be a variable local to the summary buffer. - (unless gnus-single-article-buffer - (save-excursion - (set-buffer gnus-summary-buffer) + (with-current-buffer gnus-summary-buffer + ;; This might be a variable local to the summary buffer. + (unless gnus-single-article-buffer (setq gnus-article-buffer name) (setq gnus-original-article-buffer original) (gnus-set-global-variables))) diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el index 5b2bb85ca..05864bf00 100644 --- a/lisp/gnus-sum.el +++ b/lisp/gnus-sum.el @@ -3352,10 +3352,11 @@ display only a single character." (gnus-summary-mode group) (when gnus-carpal (gnus-carpal-setup-buffer 'summary)) - (unless gnus-single-article-buffer - (make-local-variable 'gnus-article-buffer) - (make-local-variable 'gnus-article-current) - (make-local-variable 'gnus-original-article-buffer)) + (when (gnus-group-quit-config group) + (set (make-local-variable 'gnus-single-article-buffer) nil)) + (make-local-variable 'gnus-article-buffer) + (make-local-variable 'gnus-article-current) + (make-local-variable 'gnus-original-article-buffer) (setq gnus-newsgroup-name group) ;; Set any local variables in the group parameters. (gnus-summary-set-local-parameters gnus-newsgroup-name) @@ -6843,6 +6844,7 @@ If FORCE (the prefix), also save the .newsrc file(s)." (gnus-run-hooks 'gnus-summary-prepare-exit-hook) ;; If we have several article buffers, we kill them at exit. (unless gnus-single-article-buffer + (gnus-kill-buffer gnus-article-buffer) (gnus-kill-buffer gnus-original-article-buffer) (setq gnus-article-current nil)) (when gnus-use-cache @@ -6981,19 +6983,11 @@ The state which existed when entering the ephemeral is reset." (gnus-set-global-variables)))) (if (or (eq (cdr quit-config) 'article) (eq (cdr quit-config) 'pick)) - (progn - ;; The current article may be from the ephemeral group - ;; thus it is best that we reload this article - ;; - ;; If we're exiting from a large digest, this can be - ;; extremely slow. So, it's better not to reload it. -- jh. - ;;(gnus-summary-show-article) - (if (and (boundp 'gnus-pick-mode) (symbol-value 'gnus-pick-mode)) - (gnus-configure-windows 'pick 'force) - (gnus-configure-windows (cdr quit-config) 'force))) + (if (and (boundp 'gnus-pick-mode) (symbol-value 'gnus-pick-mode)) + (gnus-configure-windows 'pick 'force) + (gnus-configure-windows (cdr quit-config) 'force)) (gnus-configure-windows (cdr quit-config) 'force)) (when (eq major-mode 'gnus-summary-mode) - (gnus-summary-next-subject 1 nil t) (gnus-summary-recenter) (gnus-summary-position-point)))) -- 2.34.1