* gnus-sum.el (gnus-summary-expire-articles): Save excursion.
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Mon, 1 Jan 2001 12:22:09 +0000 (12:22 +0000)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Mon, 1 Jan 2001 12:22:09 +0000 (12:22 +0000)
lisp/ChangeLog
lisp/gnus-sum.el

index f19333b..d40b6f9 100644 (file)
@@ -1,3 +1,7 @@
+2001-01-01 00:52:44  Ed L. Cashin  <ecashin@coe.uga.edu>
+
+       * gnus-sum.el (gnus-summary-expire-articles): Save excursion.
+
 2000-12-31 11:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
 
        * qp.el (quoted-printable-decode-region): Don't backward-char.
index 8827f14..96cda43 100644 (file)
@@ -7927,31 +7927,32 @@ This will be the case if the article has both been mailed and posted."
       (when expirable
        ;; There are expirable articles in this group, so we run them
        ;; through the expiry process.
-       (gnus-message 6 "Expiring articles...")
-       (unless (gnus-check-group gnus-newsgroup-name)
-         (error "Can't open server for %s" gnus-newsgroup-name))
-       ;; The list of articles that weren't expired is returned.
        (save-excursion
-         (if expiry-wait
-             (let ((nnmail-expiry-wait-function nil)
-                   (nnmail-expiry-wait expiry-wait))
-               (setq es (gnus-request-expire-articles
-                         expirable gnus-newsgroup-name)))
-           (setq es (gnus-request-expire-articles
-                     expirable gnus-newsgroup-name)))
-         (unless total
-           (setq gnus-newsgroup-expirable es))
-         ;; We go through the old list of expirable, and mark all
-         ;; really expired articles as nonexistent.
-         (unless (eq es expirable)     ;If nothing was expired, we don't mark.
-           (let ((gnus-use-cache nil))
-             (while expirable
-               (unless (memq (car expirable) es)
-                 (when (gnus-data-find (car expirable))
-                   (gnus-summary-mark-article
-                    (car expirable) gnus-canceled-mark)))
-               (setq expirable (cdr expirable))))))
-       (gnus-message 6 "Expiring articles...done")))))
+         (gnus-message 6 "Expiring articles...")
+         (unless (gnus-check-group gnus-newsgroup-name)
+           (error "Can't open server for %s" gnus-newsgroup-name))
+         ;; The list of articles that weren't expired is returned.
+         (save-excursion
+           (if expiry-wait
+               (let ((nnmail-expiry-wait-function nil)
+                     (nnmail-expiry-wait expiry-wait))
+                 (setq es (gnus-request-expire-articles
+                           expirable gnus-newsgroup-name)))
+             (setq es (gnus-request-expire-articles
+                       expirable gnus-newsgroup-name)))
+           (unless total
+             (setq gnus-newsgroup-expirable es))
+           ;; We go through the old list of expirable, and mark all
+           ;; really expired articles as nonexistent.
+           (unless (eq es expirable)   ;If nothing was expired, we don't mark.
+             (let ((gnus-use-cache nil))
+               (while expirable
+                 (unless (memq (car expirable) es)
+                   (when (gnus-data-find (car expirable))
+                     (gnus-summary-mark-article
+                      (car expirable) gnus-canceled-mark)))
+                 (setq expirable (cdr expirable))))))
+         (gnus-message 6 "Expiring articles...done"))))))
 
 (defun gnus-summary-expire-articles-now ()
   "Expunge all expirable articles in the current group.