changeset 102229:c3b2c25cfe3f

(rmail): Don't show a message if rmail-get-new-mail already did. (Bug#2440) (rmail-quit): Don't swap buffers. (Bug#2441) (rmail-list-to-menu): Don't globally bind `name'.
author Glenn Morris <rgm@gnu.org>
date Tue, 24 Feb 2009 03:31:39 +0000
parents f51bb75d96dc
children 5ae300b1d079
files lisp/mail/rmail.el
diffstat 1 files changed, 7 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/mail/rmail.el	Tue Feb 24 03:31:15 2009 +0000
+++ b/lisp/mail/rmail.el	Tue Feb 24 03:31:39 2009 +0000
@@ -875,10 +875,11 @@
     (unwind-protect
 	;; Only get new mail when there is not a file name argument.
 	(unless file-name-arg
-	  (rmail-get-new-mail))
+	  (setq msg-shown (rmail-get-new-mail)))
       (progn
 	(set-buffer mail-buf)
-	(rmail-show-message (rmail-first-unseen-message))
+	(or msg-shown
+	    (rmail-show-message (rmail-first-unseen-message)))
 	(if rmail-display-summary (rmail-summary))
 	(rmail-construct-io-menu)
 	(if run-mail-hook
@@ -1419,7 +1420,6 @@
   (interactive)
   (set-buffer rmail-buffer)
   (rmail-expunge t)
-  (rmail-swap-buffers-maybe)
   (save-buffer)
   (when (boundp 'rmail-quit-hook)
     (run-hooks 'rmail-quit-hook))
@@ -1499,7 +1499,8 @@
 	(sort files 'string<))))
 
 (defun rmail-list-to-menu (menu-name l action &optional full-name)
-  (let ((menu (make-sparse-keymap menu-name)))
+  (let ((menu (make-sparse-keymap menu-name))
+	name)
     (mapc
      (lambda (item)
        (let (command)
@@ -3226,6 +3227,8 @@
 				   replybuffer sendactions same-window others)
   (let (yank-action)
     (if replybuffer
+	;; The function used here must behave like insert-buffer wrt
+	;; point and mark (see doc of sc-cite-original).
 	(setq yank-action (list 'insert-buffer replybuffer)))
     (setq others (cons (cons "cc" cc) others))
     (setq others (cons (cons "in-reply-to" in-reply-to) others))