emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

emacs-29 68a6b364d1: Fix 'rmail-summary-output'


From: Eli Zaretskii
Subject: emacs-29 68a6b364d1: Fix 'rmail-summary-output'
Date: Thu, 9 Feb 2023 10:35:26 -0500 (EST)

branch: emacs-29
commit 68a6b364d1cdc8894c25df555786b870973e07cb
Author: Eli Zaretskii <eliz@gnu.org>
Commit: Eli Zaretskii <eliz@gnu.org>

    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 ba58090765..21dec2bbeb 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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]