emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] emacs/lisp ChangeLog mail/rmail.el


From: Glenn Morris
Subject: [Emacs-diffs] emacs/lisp ChangeLog mail/rmail.el
Date: Thu, 05 Feb 2009 07:38:59 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Glenn Morris <gm>       09/02/05 07:38:59

Modified files:
        lisp           : ChangeLog 
        lisp/mail      : rmail.el 

Log message:
        (rmail-duplicate-message): Make it work.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/ChangeLog?cvsroot=emacs&r1=1.15260&r2=1.15261
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/mail/rmail.el?cvsroot=emacs&r1=1.493&r2=1.494

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/emacs/emacs/lisp/ChangeLog,v
retrieving revision 1.15260
retrieving revision 1.15261
diff -u -b -r1.15260 -r1.15261
--- ChangeLog   5 Feb 2009 07:12:27 -0000       1.15260
+++ ChangeLog   5 Feb 2009 07:38:56 -0000       1.15261
@@ -12,7 +12,8 @@
 
 2009-02-05  Glenn Morris  <address@hidden>
 
-       * 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.

Index: mail/rmail.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/mail/rmail.el,v
retrieving revision 1.493
retrieving revision 1.494
diff -u -b -r1.493 -r1.494
--- mail/rmail.el       5 Feb 2009 06:40:06 -0000       1.493
+++ mail/rmail.el       5 Feb 2009 07:38:58 -0000       1.494
@@ -1442,16 +1442,27 @@
 The duplicate copy goes into the Rmail file just after the
 original copy."
   (interactive)
+  ;; 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)
-       (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")))
+          (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)




reply via email to

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