(message-pop-to-buffer): Add switch-function argument.
authorKatsumi Yamaoka <yamaoka@jpl.org>
Mon, 28 May 2007 02:13:04 +0000 (02:13 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Mon, 28 May 2007 02:13:04 +0000 (02:13 +0000)
(message-mail): Pass switch-function argument to it.

lisp/ChangeLog
lisp/message.el

index 5e25bf5..6cf188a 100644 (file)
@@ -1,3 +1,8 @@
+2007-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * message.el (message-pop-to-buffer): Add switch-function argument.
+       (message-mail): Pass switch-function argument to it.
+
 2007-05-25  Reiner Steib  <Reiner.Steib@gmx.de>
 
        * mm-decode.el (mm-file-name-rewrite-functions): Make it customizable.
index 8abddfa..8970dcc 100644 (file)
@@ -5921,7 +5921,7 @@ between beginning of field and beginning of line."
             'car-less-than-car)))
          new)))))
 
-(defun message-pop-to-buffer (name)
+(defun message-pop-to-buffer (name &optional switch-function)
   "Pop to buffer NAME, and warn if it already exists and is modified."
   (let ((buffer (get-buffer name)))
     (if (and buffer
@@ -5932,14 +5932,16 @@ between beginning of field and beginning of line."
              (progn
                (gnus-select-frame-set-input-focus (window-frame window))
                (select-window window))
-           (set-buffer (pop-to-buffer buffer)))
+           (funcall (or switch-function 'pop-to-buffer) buffer)
+           (set-buffer buffer))
          (when (and (buffer-modified-p)
                     (not (prog1
                              (y-or-n-p
                               "Message already being composed; erase? ")
                            (message nil))))
            (error "Message being composed")))
-      (set-buffer (pop-to-buffer name)))
+      (funcall (or switch-function 'pop-to-buffer) name)
+      (set-buffer name))
     (erase-buffer)
     (message-mode)))
 
@@ -6174,15 +6176,15 @@ is a function used to switch to and display the mail buffer."
   (interactive)
   (let ((message-this-is-mail t) replybuffer)
     (unless (message-mail-user-agent)
-      (funcall
-       (or switch-function 'message-pop-to-buffer)
+      (message-pop-to-buffer
        ;; Search for the existing message buffer if `continue' is non-nil.
        (let ((message-generate-new-buffers
              (when (or (not continue)
                        (eq message-generate-new-buffers 'standard)
                        (functionp message-generate-new-buffers))
                message-generate-new-buffers)))
-        (message-buffer-name "mail" to))))
+        (message-buffer-name "mail" to))
+       switch-function))
     ;; FIXME: message-mail should do something if YANK-ACTION is not
     ;; insert-buffer.
     (and (consp yank-action) (eq (car yank-action) 'insert-buffer)