]> git.eshelyaron.com Git - emacs.git/commitdiff
2005-09-13 Chong Yidong <cyd@stupidchicken.com>
authorChong Yidong <cyd@stupidchicken.com>
Mon, 12 Sep 2005 21:58:21 +0000 (21:58 +0000)
committerChong Yidong <cyd@stupidchicken.com>
Mon, 12 Sep 2005 21:58:21 +0000 (21:58 +0000)
* mail/sendmail.el (mail): Use new buffer if `noerase' argument is
`new'.

lisp/ChangeLog
lisp/mail/sendmail.el

index ea8039d7c2fb5d12cc898d6c20abb7b24f5eded6..f9abe4ca871eb7c4c5b7a4271ee3a4e7709e37d7 100644 (file)
@@ -1,3 +1,8 @@
+2005-09-13  Chong Yidong  <cyd@stupidchicken.com>
+
+       * mail/sendmail.el (mail): Use new buffer if `noerase' argument is
+       `new'.
+
 2005-09-12  Richard M. Stallman  <rms@gnu.org>
 
        * font-lock.el (font-lock-keywords): Add autoload.
index f5c34ff80ca8a47e615b548b2c191860265c1307..32328a33177a2c99735ad2458ce571a458f55657 100644 (file)
@@ -1591,8 +1591,13 @@ is inserted.
 The normal hook `mail-setup-hook' is run after the message is
 initialized.  It can add more default fields to the message.
 
-When calling from a program, the first argument if non-nil says
-not to erase the existing contents of the `*mail*' buffer.
+The first argument, NOERASE, determines what to do when there is
+an existing modified `*mail*' buffer.  If NOERASE is nil, the
+existing mail buffer is used, and the user is prompted whether to
+keep the old contents or to erase them.  If NOERASE has the value
+`new', a new mail buffer will be created instead of using the old
+one.  Any other non-nil value means to always select the old
+buffer without erasing the contents.
 
 The second through fifth arguments,
  TO, SUBJECT, IN-REPLY-TO and CC, specify if non-nil
@@ -1649,7 +1654,11 @@ The seventh argument ACTIONS is a list of actions to take
 ;;;               (file-exists-p buffer-auto-save-file-name))
 ;;;          (message "Auto save file for draft message exists; consider M-x mail-recover"))
 ;;;          t))
-  (pop-to-buffer "*mail*")
+
+  (if (eq noerase 'new)
+      (pop-to-buffer (generate-new-buffer "*mail*"))
+    (pop-to-buffer "*mail*"))
+
   ;; Avoid danger that the auto-save file can't be written.
   (let ((dir (expand-file-name
              (file-name-as-directory mail-default-directory))))
@@ -1664,7 +1673,8 @@ The seventh argument ACTIONS is a list of actions to take
   ;; (in case the user has actually visited a file *mail*).
 ;  (set-visited-file-name nil)
   (let (initialized)
-    (and (not noerase)
+    (and (or (not noerase)
+            (eq noerase 'new))
         (if buffer-file-name
             (if (buffer-modified-p)
                 (when (y-or-n-p "Buffer has unsaved changes; reinitialize it and discard them? ")