;;; 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.
(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)
(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")))
(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")
(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