[PATCH 1/2] emacs: Don't report CLI signals sent by Emacs as errors

Subject: [PATCH 1/2] emacs: Don't report CLI signals sent by Emacs as errors

Date: Sun, 9 Jun 2013 00:45:37 -0400

To: notmuch@notmuchmail.org

Cc:

From: Austin Clements


Previously, when the user killed the search buffer before the CLI
search process had completed, we would report the signal sent by Emacs
to kill the CLI to the user as an error.  Fix this by only reporting
error exits if the process buffer is still live.  We still report
stderr output regardless in case stderr output was relevant to why the
user killed the search buffer (such as a wrapper script being stuck).
---
 emacs/notmuch-lib.el |    8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el
index 28f78e0..534f217 100644
--- a/emacs/notmuch-lib.el
+++ b/emacs/notmuch-lib.el
@@ -528,8 +528,12 @@ status."
 	  (when sub-sentinel
 	    (funcall sub-sentinel proc event))
 	  ;; Check the exit status.  This will signal an error if the
-	  ;; exit status is non-zero.
-	  (notmuch-check-async-exit-status proc event real-command err-file)
+	  ;; exit status is non-zero.  Don't do this if the process
+	  ;; buffer is dead since that means Emacs killed the process
+	  ;; and there's no point in telling the user that (but we
+	  ;; still check for and report stderr output below).
+	  (when (buffer-live-p (process-buffer proc))
+	    (notmuch-check-async-exit-status proc event real-command err-file))
 	  ;; If that didn't signal an error, then any error output was
 	  ;; really warning output.  Show warnings, if any.
 	  (let ((warnings
-- 
1.7.10.4


Thread: