emacs-diffs
[Top][All Lists]
Advanced

[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;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]