Replace "Maintainer: FSF" with the emacs-devel mailing address
[bpt/emacs.git] / lisp / mail / sendmail.el
index e1dee32..76764ce 100644 (file)
@@ -1,9 +1,9 @@
 ;;; sendmail.el --- mail sending commands for Emacs
 
-;; Copyright (C) 1985-1986, 1992-1996, 1998, 2000-2013 Free Software
+;; Copyright (C) 1985-1986, 1992-1996, 1998, 2000-2014 Free Software
 ;; Foundation, Inc.
 
-;; Maintainer: FSF
+;; Maintainer: emacs-devel@gnu.org
 ;; Keywords: mail
 
 ;; This file is part of GNU Emacs.
@@ -1114,6 +1114,7 @@ external program defined by `sendmail-program'."
   (let ((errbuf (if mail-interactive
                    (generate-new-buffer " sendmail errors")
                  0))
+        (error nil)
        (tembuf (generate-new-buffer " sendmail temp"))
        (multibyte enable-multibyte-characters)
        (case-fold-search nil)
@@ -1278,10 +1279,13 @@ external program defined by `sendmail-program'."
                     (exit-value (apply 'call-process-region args)))
                (cond ((or (null exit-value) (eq 0 exit-value)))
                      ((numberp exit-value)
+                       (setq error t)
                       (error "Sending...failed with exit value %d" exit-value))
                      ((stringp exit-value)
+                       (setq error t)
                       (error "Sending...terminated by signal: %s" exit-value))
                      (t
+                       (setq error t)
                       (error "SENDMAIL-SEND-IT -- fall through: %S" exit-value))))
            (or fcc-was-found
                (error "No recipients")))
@@ -1290,12 +1294,15 @@ external program defined by `sendmail-program'."
                (goto-char (point-min))
                (while (re-search-forward "\n\n* *" nil t)
                  (replace-match "; "))
-               (if (not (zerop (buffer-size)))
-                   (error "Sending...failed to %s"
-                          (buffer-substring (point-min) (point-max)))))))
+               (unless (zerop (buffer-size))
+                  (setq error t)
+                  (error "Sending...failed to %s"
+                         (buffer-substring (point-min) (point-max)))))))
       (kill-buffer tembuf)
-      (if (bufferp errbuf)
-         (kill-buffer errbuf)))))
+      (if (and (bufferp errbuf)
+               (not error))
+          (kill-buffer errbuf)
+        (switch-to-buffer-other-window errbuf)))))
 
 (autoload 'rmail-output-to-rmail-buffer "rmailout")
 
@@ -1970,7 +1977,7 @@ you can move to one of them and type C-c C-c to recover that one."
             (if (not (yes-or-no-p
                       (format "Recover mail draft from auto save file %s? "
                               file-name)))
-                (error "mail-recover cancelled")
+                (error "mail-recover canceled")
               (let ((buffer-read-only nil)
                     (buffer-coding buffer-file-coding-system)
                     ;; Auto-save files are written in internal