diff options
author | Grégoire Jadi <daimrod@gmail.com> | 2013-08-12 19:25:22 +0200 |
---|---|---|
committer | Lars Magne Ingebrigtsen <larsi@gnus.org> | 2013-08-12 19:25:22 +0200 |
commit | 7997a2f181ae0dc36726af0c8afbaf86595a8290 (patch) | |
tree | 4a686de0b66aa20b9ef6609a0d1123f0fbe3de98 /lisp/mail | |
parent | 7699d09ec6f13ec0b864e82a8c59e56037628539 (diff) | |
download | emacs-7997a2f181ae0dc36726af0c8afbaf86595a8290.tar.gz |
* mail/sendmail.el (sendmail-send-it): Don't kill the error buffer on error
This makes debugging easier.
Diffstat (limited to 'lisp/mail')
-rw-r--r-- | lisp/mail/sendmail.el | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/lisp/mail/sendmail.el b/lisp/mail/sendmail.el index e1dee3295f2..4fdd75c68a6 100644 --- a/lisp/mail/sendmail.el +++ b/lisp/mail/sendmail.el @@ -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") |