* gnus-sum.el (gnus-summary-next-group): Semi-exit only when needed.
authorShengHuo ZHU <zsh@cs.rochester.edu>
Sat, 14 Sep 2002 02:43:35 +0000 (02:43 +0000)
committerShengHuo ZHU <zsh@cs.rochester.edu>
Sat, 14 Sep 2002 02:43:35 +0000 (02:43 +0000)
lisp/ChangeLog
lisp/gnus-sum.el

index e49bf1d..d018ab2 100644 (file)
@@ -1,3 +1,7 @@
+2002-09-13  ShengHuo ZHU  <zsh@cs.rochester.edu>
+
+       * gnus-sum.el (gnus-summary-next-group): Semi-exit only when needed.
+
 2002-09-12  Katsumi Yamaoka  <yamaoka@jpl.org>
        From John Paul Wallington <jpw@shootybangbang.com>.
 
index b6d8a03..fd9cc69 100644 (file)
@@ -6524,11 +6524,6 @@ previous group instead."
   (let ((current-group gnus-newsgroup-name)
        (current-buffer (current-buffer))
        entered)
-   ;; First we semi-exit this group to update Xrefs and all variables.
-    ;; We can't do a real exit, because the window conf must remain
-    ;; the same in case the user is prompted for info, and we don't
-    ;; want the window conf to change before that...
-    (gnus-summary-exit t)
     (while (not entered)
       ;; Then we find what group we are supposed to enter.
       (set-buffer gnus-group-buffer)
@@ -6553,10 +6548,18 @@ previous group instead."
        (let ((unreads (gnus-group-group-unread)))
          (if (and (or (eq t unreads)
                       (and unreads (not (zerop unreads))))
-                  (gnus-summary-read-group
-                   target-group nil no-article
-                   (and (buffer-name current-buffer) current-buffer)
-                   nil backward))
+                  (progn
+                    ;; Now we semi-exit this group to update Xrefs
+                    ;; and all variables.  We can't do a real exit,
+                    ;; because the window conf must remain the same
+                    ;; in case the user is prompted for info, and we
+                    ;; don't want the window conf to change before
+                    ;; that...
+                    (gnus-summary-exit t)
+                    (gnus-summary-read-group
+                     target-group nil no-article
+                     (and (buffer-name current-buffer) current-buffer)
+                     nil backward)))
              (setq entered t)
            (setq current-group target-group
                  target-group nil)))))))