From: Eli Zaretskii <eliz@gnu.org> Date: Thu, 9 Feb 2023 15:34:19 +0000 (+0200) Subject: Fix 'rmail-summary-output' X-Git-Tag: emacs-29.0.90~462 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=68a6b364d1c;p=emacs.git Fix 'rmail-summary-output' * lisp/mail/rmailsum.el (rmail-summary-output): Fix deletion of messages when 'rmail-output-reset-deleted-flag' is non-nil. (Bug#61380) --- diff --git a/lisp/mail/rmailsum.el b/lisp/mail/rmailsum.el index ba580907658..21dec2bbeb7 100644 --- a/lisp/mail/rmailsum.el +++ b/lisp/mail/rmailsum.el @@ -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)