[PATCH 1/2] emacs: Don't report CLI signals sent by Emacs as errors
authorAustin Clements <amdragon@MIT.EDU>
Sun, 9 Jun 2013 04:45:37 +0000 (00:45 +2000)
committerW. Trevor King <wking@tremily.us>
Fri, 7 Nov 2014 17:55:28 +0000 (09:55 -0800)
99/16761b8af7edc9d6ffca6761188c1b61e76648 [new file with mode: 0644]

diff --git a/99/16761b8af7edc9d6ffca6761188c1b61e76648 b/99/16761b8af7edc9d6ffca6761188c1b61e76648
new file mode 100644 (file)
index 0000000..a4530b5
--- /dev/null
@@ -0,0 +1,104 @@
+Return-Path: <amdragon@mit.edu>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+       by olra.theworths.org (Postfix) with ESMTP id 1B30F431FC2\r
+       for <notmuch@notmuchmail.org>; Sat,  8 Jun 2013 21:45:59 -0700 (PDT)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: -0.7\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=-0.7 tagged_above=-999 required=5\r
+       tests=[RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled\r
+Received: from olra.theworths.org ([127.0.0.1])\r
+       by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
+       with ESMTP id 4he4WgEc1uFB for <notmuch@notmuchmail.org>;\r
+       Sat,  8 Jun 2013 21:45:51 -0700 (PDT)\r
+Received: from dmz-mailsec-scanner-8.mit.edu (dmz-mailsec-scanner-8.mit.edu\r
+       [18.7.68.37])\r
+       by olra.theworths.org (Postfix) with ESMTP id 8C7F5431FB6\r
+       for <notmuch@notmuchmail.org>; Sat,  8 Jun 2013 21:45:51 -0700 (PDT)\r
+X-AuditID: 12074425-b7f966d00000454c-ca-51b4087fc6e3\r
+Received: from mailhub-auth-3.mit.edu ( [18.9.21.43])\r
+       by dmz-mailsec-scanner-8.mit.edu (Symantec Messaging Gateway) with SMTP\r
+       id C8.4E.17740.F7804B15; Sun,  9 Jun 2013 00:45:51 -0400 (EDT)\r
+Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11])\r
+       by mailhub-auth-3.mit.edu (8.13.8/8.9.2) with ESMTP id r594jnNb004329; \r
+       Sun, 9 Jun 2013 00:45:49 -0400\r
+Received: from drake.dyndns.org\r
+       (216-15-114-40.c3-0.arl-ubr1.sbo-arl.ma.cable.rcn.com\r
+       [216.15.114.40]) (authenticated bits=0)\r
+       (User authenticated as amdragon@ATHENA.MIT.EDU)\r
+       by outgoing.mit.edu (8.13.8/8.12.4) with ESMTP id r594jl8i009510\r
+       (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NOT);\r
+       Sun, 9 Jun 2013 00:45:48 -0400\r
+Received: from amthrax by drake.dyndns.org with local (Exim 4.77)\r
+       (envelope-from <amdragon@mit.edu>)\r
+       id 1UlXVj-0003wT-IS; Sun, 09 Jun 2013 00:45:47 -0400\r
+From: Austin Clements <amdragon@MIT.EDU>\r
+To: notmuch@notmuchmail.org\r
+Subject: [PATCH 1/2] emacs: Don't report CLI signals sent by Emacs as errors\r
+Date: Sun,  9 Jun 2013 00:45:37 -0400\r
+Message-Id: <1370753138-15021-2-git-send-email-amdragon@mit.edu>\r
+X-Mailer: git-send-email 1.7.10.4\r
+In-Reply-To: <1370753138-15021-1-git-send-email-amdragon@mit.edu>\r
+References: <1370753138-15021-1-git-send-email-amdragon@mit.edu>\r
+X-Brightmail-Tracker:\r
+ H4sIAAAAAAAAA+NgFtrFIsWRmVeSWpSXmKPExsUixCmqrVvPsSXQ4HOTlMWefV4W12/OZHZg\r
+       8rh7msvj2apbzAFMUVw2Kak5mWWpRfp2CVwZJx+vYC7YyF2x4ds1tgbGJs4uRk4OCQETiT9v\r
+       WtghbDGJC/fWs3UxcnEICexjlHiy6wM7hLOBUeLNo8uMEM5tJomvN09AZeYyStxZdoYNpJ9N\r
+       QENi2/7ljCC2iIC0xM67s1m7GDk4mAWcJNravEDCwgI+EgevvwMrYRFQlbgz5yCYzSvgIHFr\r
+       ywQ2iDMUJbqfQdicAo4Sbd+fMIOMEQKq6e9yn8DIv4CRYRWjbEpulW5uYmZOcWqybnFyYl5e\r
+       apGuhV5uZoleakrpJkZQELG7qO5gnHBI6RCjAAejEg+vwLrNgUKsiWXFlbmHGCU5mJREeVcw\r
+       bAkU4kvKT6nMSCzOiC8qzUktPsQowcGsJMJ76TxQOW9KYmVValE+TEqag0VJnPdGyk1/IYH0\r
+       xJLU7NTUgtQimKwMB4eSBG8jO9BQwaLU9NSKtMycEoQ0EwcnyHAeoOGnQGp4iwsSc4sz0yHy\r
+       pxgVpcR5i0ASAiCJjNI8uF5YlL9iFAd6RZh3MkgVDzBBwHW/AhrMBDR4+qsNIINLEhFSUg2M\r
+       1ltEs9hF2ln8X5x4zhLer55tpCJ+88DHOEluQ30FrYfr+qacuXj//6eIyCSjsxv/LSmdGxA2\r
+       a8LPvWr3bgoss1xtc7jWvKGAX//lwsOZVfKKHRK9p2dUC/KHxtfwzLXt3+TWdvP/jg/v/+67\r
+       WNq7ImVi4ZUNwnM9picdWuo6WXGig39Wjfg7JZbijERDLeai4kQAR1L1BM0CAAA=\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.13\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+       <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
+List-Post: <mailto:notmuch@notmuchmail.org>\r
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Sun, 09 Jun 2013 04:45:59 -0000\r
+\r
+Previously, when the user killed the search buffer before the CLI\r
+search process had completed, we would report the signal sent by Emacs\r
+to kill the CLI to the user as an error.  Fix this by only reporting\r
+error exits if the process buffer is still live.  We still report\r
+stderr output regardless in case stderr output was relevant to why the\r
+user killed the search buffer (such as a wrapper script being stuck).\r
+---\r
+ emacs/notmuch-lib.el |    8 ++++++--\r
+ 1 file changed, 6 insertions(+), 2 deletions(-)\r
+\r
+diff --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el\r
+index 28f78e0..534f217 100644\r
+--- a/emacs/notmuch-lib.el\r
++++ b/emacs/notmuch-lib.el\r
+@@ -528,8 +528,12 @@ status."\r
+         (when sub-sentinel\r
+           (funcall sub-sentinel proc event))\r
+         ;; Check the exit status.  This will signal an error if the\r
+-        ;; exit status is non-zero.\r
+-        (notmuch-check-async-exit-status proc event real-command err-file)\r
++        ;; exit status is non-zero.  Don't do this if the process\r
++        ;; buffer is dead since that means Emacs killed the process\r
++        ;; and there's no point in telling the user that (but we\r
++        ;; still check for and report stderr output below).\r
++        (when (buffer-live-p (process-buffer proc))\r
++          (notmuch-check-async-exit-status proc event real-command err-file))\r
+         ;; If that didn't signal an error, then any error output was\r
+         ;; really warning output.  Show warnings, if any.\r
+         (let ((warnings\r
+-- \r
+1.7.10.4\r
+\r