From 68a6b364d1cdc8894c25df555786b870973e07cb Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Thu, 9 Feb 2023 17:34:19 +0200 Subject: [PATCH] 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) --- lisp/mail/rmailsum.el | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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) -- 2.39.5