diff options
-rw-r--r-- | lisp/mail/rmailsum.el | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/lisp/mail/rmailsum.el b/lisp/mail/rmailsum.el index 1e1d23f5351..57b611f7667 100644 --- a/lisp/mail/rmailsum.el +++ b/lisp/mail/rmailsum.el @@ -1468,10 +1468,15 @@ starting with the current one. Deleted messages are skipped and don't count." (progn (require 'rmailout) (list (rmail-output-read-rmail-file-name) (prefix-numeric-value current-prefix-arg)))) - (let ((i 0)) - (while (< i n) + (let ((i 0) prev-msg) + (while + (and (< i n) + (progn (rmail-summary-goto-msg) + (not (eq prev-msg + (setq prev-msg + (with-current-buffer rmail-buffer + rmail-current-message)))))) (setq i (1+ i)) - (rmail-summary-goto-msg) (with-current-buffer rmail-buffer (let ((rmail-delete-after-output nil)) (rmail-output-to-rmail-file file-name 1))) |