[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs/src ChangeLog keyboard.c
From: |
Martin Rudalics |
Subject: |
[Emacs-diffs] emacs/src ChangeLog keyboard.c |
Date: |
Mon, 12 Jan 2009 09:21:20 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Martin Rudalics <m061211> 09/01/12 09:21:20
Modified files:
src : ChangeLog keyboard.c
Log message:
(read_char): Fix case where last_nonmenu_event
returned a bad value with submenus. (Bug#447)
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/src/ChangeLog?cvsroot=emacs&r1=1.7273&r2=1.7274
http://cvs.savannah.gnu.org/viewcvs/emacs/src/keyboard.c?cvsroot=emacs&r1=1.989&r2=1.990
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/emacs/emacs/src/ChangeLog,v
retrieving revision 1.7273
retrieving revision 1.7274
diff -u -b -r1.7273 -r1.7274
--- ChangeLog 12 Jan 2009 02:31:52 -0000 1.7273
+++ ChangeLog 12 Jan 2009 09:21:15 -0000 1.7274
@@ -1,3 +1,8 @@
+2009-01-12 Martin Rudalics <address@hidden>
+
+ * keyboard.c (read_char): Fix case where last_nonmenu_event
+ returned a bad value with submenus. (Bug#447)
+
2009-01-12 Chong Yidong <address@hidden>
* xfaces.c (Finternal_set_lisp_face_attribute): If setting the
Index: keyboard.c
===================================================================
RCS file: /sources/emacs/emacs/src/keyboard.c,v
retrieving revision 1.989
retrieving revision 1.990
diff -u -b -r1.989 -r1.990
--- keyboard.c 11 Jan 2009 13:24:26 -0000 1.989
+++ keyboard.c 12 Jan 2009 09:21:19 -0000 1.990
@@ -2547,6 +2547,8 @@
if (CONSP (Vunread_command_events))
{
+ int was_disabled = 0;
+
c = XCAR (Vunread_command_events);
Vunread_command_events = XCDR (Vunread_command_events);
@@ -2567,12 +2569,17 @@
if (CONSP (c)
&& EQ (XCDR (c), Qdisabled)
&& (SYMBOLP (XCAR (c)) || INTEGERP (XCAR (c))))
+ {
+ was_disabled = 1;
c = XCAR (c);
+ }
/* If the queued event is something that used the mouse,
set used_mouse_menu accordingly. */
if (used_mouse_menu
- && (EQ (c, Qtool_bar) || EQ (c, Qmenu_bar)))
+ /* Also check was_disabled so last-nonmenu-event won't return
+ a bad value when submenus are involved. (Bug#447) */
+ && (EQ (c, Qtool_bar) || EQ (c, Qmenu_bar) || was_disabled))
*used_mouse_menu = 1;
goto reread_for_input_method;