Re: [PATCH] make (kill-emacs) from emacsclient work with emacs 23.(1|2)
authorAustin Clements <amdragon@MIT.EDU>
Thu, 12 Jan 2012 04:13:44 +0000 (23:13 +1900)
committerW. Trevor King <wking@tremily.us>
Fri, 7 Nov 2014 17:41:56 +0000 (09:41 -0800)
3a/d04faa1b7b26bbd85bd8816d5d824783242108 [new file with mode: 0644]

diff --git a/3a/d04faa1b7b26bbd85bd8816d5d824783242108 b/3a/d04faa1b7b26bbd85bd8816d5d824783242108
new file mode 100644 (file)
index 0000000..5039e2d
--- /dev/null
@@ -0,0 +1,115 @@
+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 64E47429E29\r
+       for <notmuch@notmuchmail.org>; Wed, 11 Jan 2012 20:13:42 -0800 (PST)\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 xGQBv+46UKtU for <notmuch@notmuchmail.org>;\r
+       Wed, 11 Jan 2012 20:13:42 -0800 (PST)\r
+Received: from dmz-mailsec-scanner-5.mit.edu (DMZ-MAILSEC-SCANNER-5.MIT.EDU\r
+       [18.7.68.34])\r
+       by olra.theworths.org (Postfix) with ESMTP id E45BB429E25\r
+       for <notmuch@notmuchmail.org>; Wed, 11 Jan 2012 20:13:41 -0800 (PST)\r
+X-AuditID: 12074422-b7fd66d0000008f9-03-4f0e5df544b9\r
+Received: from mailhub-auth-3.mit.edu ( [18.9.21.43])\r
+       by dmz-mailsec-scanner-5.mit.edu (Symantec Messaging Gateway) with SMTP\r
+       id A5.BE.02297.5FD5E0F4; Wed, 11 Jan 2012 23:13:41 -0500 (EST)\r
+Received: from outgoing.mit.edu (OUTGOING-AUTH.MIT.EDU [18.7.22.103])\r
+       by mailhub-auth-3.mit.edu (8.13.8/8.9.2) with ESMTP id q0C4DeW3017077; \r
+       Wed, 11 Jan 2012 23:13:41 -0500\r
+Received: from awakening.csail.mit.edu (awakening.csail.mit.edu [18.26.4.91])\r
+       (authenticated bits=0)\r
+       (User authenticated as amdragon@ATHENA.MIT.EDU)\r
+       by outgoing.mit.edu (8.13.6/8.12.4) with ESMTP id q0C4DdNo017385\r
+       (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NOT);\r
+       Wed, 11 Jan 2012 23:13:40 -0500 (EST)\r
+Received: from amthrax by awakening.csail.mit.edu with local (Exim 4.77)\r
+       (envelope-from <amdragon@mit.edu>)\r
+       id 1RlC2q-0004me-Up; Wed, 11 Jan 2012 23:13:45 -0500\r
+Date: Wed, 11 Jan 2012 23:13:44 -0500\r
+From: Austin Clements <amdragon@MIT.EDU>\r
+To: Tomi Ollila <tomi.ollila@iki.fi>\r
+Subject: Re: [PATCH] make (kill-emacs) from emacsclient work with emacs\r
+       23.(1|2)\r
+Message-ID: <20120112041344.GZ20796@mit.edu>\r
+References: <87d3b01qus.fsf@qmul.ac.uk>\r
+       <1326293378-25248-1-git-send-email-tomi.ollila@iki.fi>\r
+MIME-Version: 1.0\r
+Content-Type: text/plain; charset=us-ascii\r
+Content-Disposition: inline\r
+In-Reply-To: <1326293378-25248-1-git-send-email-tomi.ollila@iki.fi>\r
+User-Agent: Mutt/1.5.21 (2010-09-15)\r
+X-Brightmail-Tracker:\r
+ H4sIAAAAAAAAA+NgFmpmleLIzCtJLcpLzFFi42IR4hTV1v0ay+dv8GaCuMX1mzOZLd6snMfq\r
+       wORx+OtCFo9nq24xBzBFcdmkpOZklqUW6dslcGWs+ryYsWAvd8XsdxtZGhgXcnYxcnJICJhI\r
+       rNy6ixXCFpO4cG89WxcjF4eQwD5Gie9nFjFDOBsYJa4ef8kEUiUkcJJJon2BKkRiCaPElE+X\r
+       wRIsAqoSN5esZQSx2QQ0JLbtXw5miwioSDxoWw+2gllAWuLb72awemGBIIknt6+zgNi8AjoS\r
+       1ydcZYFYkCBx5cxXdoi4oMTJmU9YIHq1JG78AzmCA2zO8n8cIGFOAWeJ9R9OsoHYokCrppzc\r
+       xjaBUWgWku5ZSLpnIXQvYGRexSibklulm5uYmVOcmqxbnJyYl5dapGuql5tZopeaUrqJERTW\r
+       7C5KOxh/HlQ6xCjAwajEw7tjL6+/EGtiWXFl7iFGSQ4mJVFeI2BUCPEl5adUZiQWZ8QXleak\r
+       Fh9ilOBgVhLhdaoBKudNSaysSi3Kh0lJc7AoifOqa73zExJITyxJzU5NLUgtgsnKcHAoSfD+\r
+       iQEaKliUmp5akZaZU4KQZuLgBBnOAzRcG2Qxb3FBYm5xZjpE/hSjopQ4LxtIQgAkkVGaB9cL\r
+       SzuvGMWBXhHm/QGyggeYsuC6XwENZgIavGUdD8jgkkSElFQDY+HKh4n568SO3gn8uNFqRYdu\r
+       2usd+zOLphs7ie0yY1FkkjDZdnbJxS0ak1urjrMIiykq9Adq75yvyP9OvG7b5ctHdq/8MXOi\r
+       gfUegwnzuR15jpU8eV5UZ7fk5qRiTZcE4ZIqkYsS6nUPY588mPE6MztK48H9Y7KvMw4pPAvk\r
+       +rEr1UTq14uHKUosxRmJhlrMRcWJAOkIATYWAwAA\r
+Cc: notmuch@notmuchmail.org\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: Thu, 12 Jan 2012 04:13:42 -0000\r
+\r
+This is important to fix, but this solution seems needlessly\r
+roundabout.  What about using an after-advice and simply delq'ing\r
+whatever the offending hook is?  That wouldn't even need a version\r
+check.\r
+\r
+Quoth Tomi Ollila on Jan 11 at  4:49 pm:\r
+> emacsclient --eval '(kill-emacs)' doesn't work without interactive\r
+> user input. By removing the hook which asks user input makes things\r
+> work well enough in our test cases.\r
+> ---\r
+>  test/test-lib.el |   13 +++++++++++++\r
+>  1 files changed, 13 insertions(+), 0 deletions(-)\r
+> \r
+> diff --git a/test/test-lib.el b/test/test-lib.el\r
+> index 3b817c3..c52854e 100644\r
+> --- a/test/test-lib.el\r
+> +++ b/test/test-lib.el\r
+> @@ -26,6 +26,19 @@\r
+>  ;; `read' call.\r
+>  (setq read-file-name-function (lambda (&rest _) (read)))\r
+>  \r
+> +;; Work around a bug in emacs 23.1 and emacs 23.2 which prevents\r
+> +;; noninteractive (kill-emacs) from emacsclient.\r
+> +(when (and (= emacs-major-version 23) (< emacs-minor-version 3))\r
+> +  (require 'server)\r
+> +  (fset 'server-start-real (symbol-function 'server-start))\r
+> +  (defun server-start (&optional leave-dead)\r
+> +    (interactive "P")\r
+> +    (let ((hc (length kill-emacs-hook)))\r
+> +      (unwind-protect\r
+> +      (server-start-real leave-dead)\r
+> +    (if (> (length kill-emacs-hook) hc)\r
+> +        (setq kill-emacs-hook (cdr kill-emacs-hook)))))))\r
+> +\r
+>  (defun notmuch-test-wait ()\r
+>    "Wait for process completion."\r
+>    (while (get-buffer-process (current-buffer))\r