Return-Path: X-Original-To: notmuch@notmuchmail.org Delivered-To: notmuch@notmuchmail.org Received: from localhost (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id 4B7BD429E21 for ; Wed, 11 Jan 2012 06:50:03 -0800 (PST) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: 0 X-Spam-Level: X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none] autolearn=disabled Received: from olra.theworths.org ([127.0.0.1]) by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HeKxkEeO9uhv for ; Wed, 11 Jan 2012 06:50:01 -0800 (PST) Received: from mail-gw3.nixu.fi (mail-gw3.nixu.fi [193.209.237.7]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by olra.theworths.org (Postfix) with ESMTPS id 6011C431FB6 for ; Wed, 11 Jan 2012 06:50:01 -0800 (PST) Received: from pps.filterd (mail-gw3 [127.0.0.1]) by mail-gw3.nixu.fi (8.14.4/8.14.4) with SMTP id q0BEnlUm030148; Wed, 11 Jan 2012 16:49:47 +0200 Received: from taco2.nixu.fi (taco2.nixu.fi [194.197.118.31]) by mail-gw3.nixu.fi with ESMTP id 114cs0yvd2-1 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NOT); Wed, 11 Jan 2012 16:49:47 +0200 Received: from taco2.nixu.fi (localhost [127.0.0.1]) by taco2.nixu.fi (8.14.3/8.14.3/Debian-5+lenny1) with ESMTP id q0BEnkfb025293 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Wed, 11 Jan 2012 16:49:46 +0200 Received: (from too@localhost) by taco2.nixu.fi (8.14.3/8.14.3/Submit) id q0BEnkiL025292; Wed, 11 Jan 2012 16:49:46 +0200 From: Tomi Ollila To: notmuch@notmuchmail.org Subject: [PATCH] make (kill-emacs) from emacsclient work with emacs 23.(1|2) Date: Wed, 11 Jan 2012 16:49:38 +0200 Message-Id: <1326293378-25248-1-git-send-email-tomi.ollila@iki.fi> X-Mailer: git-send-email 1.7.7.3 In-Reply-To: <87d3b01qus.fsf@qmul.ac.uk> References: <87d3b01qus.fsf@qmul.ac.uk> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.5.7110, 1.0.211, 0.0.0000 definitions=2012-01-11_03:2012-01-11, 2012-01-11, 1970-01-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 ipscore=0 suspectscore=1 phishscore=0 bulkscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=6.0.2-1012030000 definitions=main-1201110112 Cc: Tomi Ollila X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Jan 2012 14:50:03 -0000 emacsclient --eval '(kill-emacs)' doesn't work without interactive user input. By removing the hook which asks user input makes things work well enough in our test cases. --- test/test-lib.el | 13 +++++++++++++ 1 files changed, 13 insertions(+), 0 deletions(-) diff --git a/test/test-lib.el b/test/test-lib.el index 3b817c3..c52854e 100644 --- a/test/test-lib.el +++ b/test/test-lib.el @@ -26,6 +26,19 @@ ;; `read' call. (setq read-file-name-function (lambda (&rest _) (read))) +;; Work around a bug in emacs 23.1 and emacs 23.2 which prevents +;; noninteractive (kill-emacs) from emacsclient. +(when (and (= emacs-major-version 23) (< emacs-minor-version 3)) + (require 'server) + (fset 'server-start-real (symbol-function 'server-start)) + (defun server-start (&optional leave-dead) + (interactive "P") + (let ((hc (length kill-emacs-hook))) + (unwind-protect + (server-start-real leave-dead) + (if (> (length kill-emacs-hook) hc) + (setq kill-emacs-hook (cdr kill-emacs-hook))))))) + (defun notmuch-test-wait () "Wait for process completion." (while (get-buffer-process (current-buffer)) -- 1.7.7.3