From 50dcb7845f465e374a1e3778da45121e156d49c1 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Thu, 5 Feb 2009 07:38:56 +0000 Subject: [PATCH 1/1] (rmail-duplicate-message): Make it work. --- lisp/ChangeLog | 3 ++- lisp/mail/rmail.el | 31 +++++++++++++++++++++---------- 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index d1eec646ea..2150a8e8bd 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -12,7 +12,8 @@ 2009-02-05 Glenn Morris - * mail/rmail.el (rmail-what-message): Unbreak it. + * mail/rmail.el (rmail-what-message, rmail-duplicate-message): + Make these functions work. * net/mairix.el (rmail-buffer): Remove unneeded eval-when-compile. (rmail-narrow-to-non-pruned-header): Remove autoload. diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el index e6be132380..ab8490938d 100644 --- a/lisp/mail/rmail.el +++ b/lisp/mail/rmail.el @@ -1442,16 +1442,27 @@ Hook `rmail-quit-hook' is run after expunging." The duplicate copy goes into the Rmail file just after the original copy." (interactive) - (widen) - (let ((buffer-read-only nil) - (number rmail-current-message) - (string (buffer-substring (rmail-msgbeg rmail-current-message) - (rmail-msgend rmail-current-message)))) - (goto-char (rmail-msgend rmail-current-message)) - (insert string) - (rmail-forget-messages) - (rmail-show-message-maybe number) - (message "Message duplicated"))) + ;; If we are in a summary buffer, switch to the Rmail buffer. + (set-buffer rmail-buffer) + (let ((buff (current-buffer)) + (n rmail-current-message) + (beg (rmail-msgbeg rmail-current-message)) + (end (rmail-msgend rmail-current-message))) + (if (rmail-buffers-swapped-p) (set-buffer rmail-view-buffer)) + (widen) + (let ((buffer-read-only nil) + (string (buffer-substring-no-properties beg end))) + (goto-char end) + (insert string)) + (set-buffer buff) + (rmail-swap-buffers-maybe) + (goto-char (point-max)) + (rmail-set-message-counters) + (set-buffer-modified-p t) + (rmail-show-message n)) + (if (rmail-summary-exists) + (rmail-select-summary (rmail-update-summary))) + (message "Message duplicated")) ;;;###autoload (defun rmail-input (filename) -- 2.39.2