summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/mail/sendmail.el10
1 files changed, 7 insertions, 3 deletions
diff --git a/lisp/mail/sendmail.el b/lisp/mail/sendmail.el
index e775685ca77..b976cb39856 100644
--- a/lisp/mail/sendmail.el
+++ b/lisp/mail/sendmail.el
@@ -194,9 +194,13 @@ Prefix arg means don't delete this window."
(interactive "P")
(mail-send)
(bury-buffer (current-buffer))
- (if (or (one-window-p) arg)
- (switch-to-buffer (other-buffer (current-buffer)))
- (delete-window)))
+ (if (and (not arg)
+ (not (one-window-p))
+ (save-excursion
+ (set-buffer (window-buffer (next-window (selected-window) 'not)))
+ (eq major-mode 'rmail-mode)))
+ (delete-window)
+ (switch-to-buffer (other-buffer (current-buffer)))))
(defun mail-send ()
"Send the message in the current buffer.