(auth-source-netrc-parse): Accept a number as the port spec, too.
[gnus] / lisp / gnus-sum.el
index f246163..789308c 100644 (file)
@@ -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))))))))