]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix 'rmail-summary-output'
authorEli Zaretskii <eliz@gnu.org>
Thu, 9 Feb 2023 15:34:19 +0000 (17:34 +0200)
committerEli Zaretskii <eliz@gnu.org>
Thu, 9 Feb 2023 15:34:19 +0000 (17:34 +0200)
* lisp/mail/rmailsum.el (rmail-summary-output): Fix deletion of
messages when 'rmail-output-reset-deleted-flag' is non-nil.
(Bug#61380)

lisp/mail/rmailsum.el

index ba580907658f33549b3407ee9b4159099fe50951..21dec2bbeb7aff191f6903bbad969b855c50697a 100644 (file)
@@ -1931,7 +1931,7 @@ even if the header display is currently pruned."
    (progn (require 'rmailout)
          (list (rmail-output-read-file-name)
                (prefix-numeric-value current-prefix-arg))))
-  (let ((i 0) prev-msg)
+  (let ((i 0) prev-msg curmsg)
     (while
        (and (< i n)
             (progn (rmail-summary-goto-msg)
@@ -1942,7 +1942,11 @@ even if the header display is currently pruned."
       (setq i (1+ i))
       (with-current-buffer rmail-buffer
        (let ((rmail-delete-after-output nil))
+          (setq curmsg rmail-current-message)
          (rmail-output file-name 1)))
+      ;; rmail-output sometimes moves to the next message; undo that.
+      (or (= curmsg (rmail-summary-msg-number))
+          (rmail-summary-goto-msg curmsg))
       (if rmail-delete-after-output
          (rmail-summary-delete-forward nil)
        (if (< i n)