From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Drew Adams" Newsgroups: gmane.emacs.bugs Subject: bug#10993: 24.0.94; `yes-or-no-p' inhibits `quit' handler in `condition-case' Date: Sun, 11 Mar 2012 10:44:26 -0700 Message-ID: <7B7B9383BF8B4223A3B103DE9D615C84@us.oracle.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1331487929 16794 80.91.229.3 (11 Mar 2012 17:45:29 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sun, 11 Mar 2012 17:45:29 +0000 (UTC) To: 10993@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Mar 11 18:45:28 2012 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1S6mpe-0006Gi-UM for geb-bug-gnu-emacs@m.gmane.org; Sun, 11 Mar 2012 18:45:23 +0100 Original-Received: from localhost ([::1]:41932 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S6mpe-00026d-C3 for geb-bug-gnu-emacs@m.gmane.org; Sun, 11 Mar 2012 13:45:22 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:38674) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S6mpb-00026Y-4m for bug-gnu-emacs@gnu.org; Sun, 11 Mar 2012 13:45:20 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S6mpZ-0006qg-CI for bug-gnu-emacs@gnu.org; Sun, 11 Mar 2012 13:45:18 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:38441) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S6mpZ-0006qc-8W for bug-gnu-emacs@gnu.org; Sun, 11 Mar 2012 13:45:17 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1S6nIM-0007Py-M0 for bug-gnu-emacs@gnu.org; Sun, 11 Mar 2012 14:15:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: "Drew Adams" Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 11 Mar 2012 18:15:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 10993 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: Original-Received: via spool by submit@debbugs.gnu.org id=B.133148967628450 (code B ref -1); Sun, 11 Mar 2012 18:15:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 11 Mar 2012 18:14:36 +0000 Original-Received: from localhost ([127.0.0.1]:45273 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1S6nHw-0007Oo-2D for submit@debbugs.gnu.org; Sun, 11 Mar 2012 14:14:36 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:53664) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1S6nHs-0007Og-TL for submit@debbugs.gnu.org; Sun, 11 Mar 2012 14:14:34 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S6mp3-0006gp-CD for submit@debbugs.gnu.org; Sun, 11 Mar 2012 13:44:46 -0400 Original-Received: from lists.gnu.org ([208.118.235.17]:37457) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S6mp3-0006gd-9O for submit@debbugs.gnu.org; Sun, 11 Mar 2012 13:44:45 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:38506) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S6mp1-0001yD-GA for bug-gnu-emacs@gnu.org; Sun, 11 Mar 2012 13:44:44 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S6moz-0006fy-JB for bug-gnu-emacs@gnu.org; Sun, 11 Mar 2012 13:44:42 -0400 Original-Received: from acsinet15.oracle.com ([141.146.126.227]:44873) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S6moz-0006fT-DB for bug-gnu-emacs@gnu.org; Sun, 11 Mar 2012 13:44:41 -0400 Original-Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93]) by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with ESMTP id q2BHiZfL008621 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Sun, 11 Mar 2012 17:44:36 GMT Original-Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158]) by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id q2BHiYJf015811 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Sun, 11 Mar 2012 17:44:35 GMT Original-Received: from abhmt103.oracle.com (abhmt103.oracle.com [141.146.116.55]) by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id q2BHiYvJ030502 for ; Sun, 11 Mar 2012 12:44:34 -0500 Original-Received: from dradamslap1 (/10.159.40.129) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Sun, 11 Mar 2012 10:44:34 -0700 X-Mailer: Microsoft Office Outlook 11 Thread-Index: Acz/rppM/nzCiJcfR/eBWEnrkCEapg== X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 X-Source-IP: ucsinet21.oracle.com [156.151.31.93] X-CT-RefId: str=0001.0A090207.4F5CE485.0015,ss=1,re=0.000,fgs=0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 1) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:57683 Archived-At: Suppose you had a command such as `do-XYZ', below. It does XYZ, but if ABC is unsaved it asks you if you want to save ABC first. The command lets you answer `yes' to save ABC first, answer `no' to do XYZ without saving ABC first, or hit `C-g' to cancel everything (XYZ). A user might hit `C-g' if s?he wanted to first investigate something about ABC, for instance. emacs -Q (setq ABC-not-saved t) (defun do-XYZ (arg) (interactive "e") (when (and ABC-not-saved (condition-case err (yes-or-no-p "Save ABC before doing XYZ? (`C-g': cancel) ") (quit (error "OK, canceled")) (error (error (error-message-string err))))) ;; do ABC ) ;; do XYZ ) (global-set-key [mouse-3] 'do-XYZ) Such a command (without "e" for `interactive') works fine when bound to a key. When bound to a mouse action (e.g. menu command) a user cannot use `C-g'. That's the bug. When `yes-or-no-p' is invoked using a menu, so that it asks the user using a dialog box instead of the minibuffer, the `quit' handler in the `condition-case' is inhibited. In GNU Emacs 24.0.94.1 (i386-mingw-nt5.1.2600) of 2012-02-26 on MARVIN Windowing system distributor `Microsoft Corp.', version 5.1.2600 Configured using: `configure --with-gcc (4.6) --no-opt --enable-checking --cflags -ID:/devel/emacs/libs/libXpm-3.5.8/include -ID:/devel/emacs/libs/libXpm-3.5.8/src -ID:/devel/emacs/libs/libpng-dev_1.4.3-1/include -ID:/devel/emacs/libs/zlib-dev_1.2.5-2/include -ID:/devel/emacs/libs/giflib-4.1.4-1/include -ID:/devel/emacs/libs/jpeg-6b-4/include -ID:/devel/emacs/libs/tiff-3.8.2-1/include -ID:/devel/emacs/libs/gnutls-3.0.9/include'