GNU bug report logs -
#10993
C-g does not dismiss popup menus on Windows
Previous Next
Reported by: "Drew Adams" <drew.adams <at> oracle.com>
Date: Sun, 11 Mar 2012 18:15:02 UTC
Severity: normal
Tags: wontfix
Merged with 7742
Found in versions 24.0.50, 24.0.94
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
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'
This bug report was last modified 5 years and 295 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.