[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs/src ChangeLog keyboard.c
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] emacs/src ChangeLog keyboard.c |
Date: |
Sun, 08 Nov 2009 15:06:52 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Stefan Monnier <monnier> 09/11/08 15:06:52
Modified files:
src : ChangeLog keyboard.c
Log message:
(parse_menu_item): Handle `notreal' a bit earlier.
Use `tem' less. Make sure KEYEQ holds a string or nil (bug#4879).
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/src/ChangeLog?cvsroot=emacs&r1=1.7847&r2=1.7848
http://cvs.savannah.gnu.org/viewcvs/emacs/src/keyboard.c?cvsroot=emacs&r1=1.1017&r2=1.1018
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/emacs/emacs/src/ChangeLog,v
retrieving revision 1.7847
retrieving revision 1.7848
diff -u -b -r1.7847 -r1.7848
--- ChangeLog 8 Nov 2009 00:14:30 -0000 1.7847
+++ ChangeLog 8 Nov 2009 15:06:50 -0000 1.7848
@@ -1,3 +1,8 @@
+2009-11-08 Stefan Monnier <address@hidden>
+
+ * keyboard.c (parse_menu_item): Handle `notreal' a bit earlier.
+ Use `tem' less. Make sure KEYEQ holds a string or nil (bug#4879).
+
2009-11-08 Chong Yidong <address@hidden>
* xmenu.c (Fx_popup_menu): Extract event timestamp. Pass it to
Index: keyboard.c
===================================================================
RCS file: /sources/emacs/emacs/src/keyboard.c,v
retrieving revision 1.1017
retrieving revision 1.1018
diff -u -b -r1.1017 -r1.1018
--- keyboard.c 6 Nov 2009 06:50:57 -0000 1.1017
+++ keyboard.c 8 Nov 2009 15:06:51 -0000 1.1018
@@ -8068,15 +8068,22 @@
if (inmenubar > 0)
return 1;
- /* This is a command. See if there is an equivalent key binding. */
- tem = AREF (item_properties, ITEM_PROPERTY_KEYEQ);
+
+ /* If we only want to precompute equivalent key bindings (which we
+ don't even do any more anyway), stop here. */
+ if (notreal)
+ return 1;
+
+ { /* This is a command. See if there is an equivalent key binding. */
+ Lisp_Object keyeq = AREF (item_properties, ITEM_PROPERTY_KEYEQ);
+
/* The previous code preferred :key-sequence to :keys, so we
preserve this behavior. */
- if (STRINGP (tem) && !CONSP (keyhint))
- tem = Fsubstitute_command_keys (tem);
+ if (STRINGP (keyeq) && !CONSP (keyhint))
+ keyeq = Fsubstitute_command_keys (keyeq);
else
{
- Lisp_Object prefix = AREF (item_properties, ITEM_PROPERTY_KEYEQ);
+ Lisp_Object prefix = keyeq;
Lisp_Object keys = Qnil;
if (CONSP (prefix))
@@ -8115,18 +8122,16 @@
if (STRINGP (XCDR (prefix)))
tem = concat2 (tem, XCDR (prefix));
}
- tem = concat2 (build_string (" "), tem);
- /* tem = concat3 (build_string (" ("), tem, build_string (")")); */
+ keyeq = concat2 (build_string (" "), tem);
+ /* keyeq = concat3(build_string(" ("),tem,build_string(")")); */
}
+ else
+ keyeq = Qnil;
}
-
- /* If we only want to precompute equivalent key bindings, stop here. */
- if (notreal)
- return 1;
-
/* If we have an equivalent key binding, use that. */
- ASET (item_properties, ITEM_PROPERTY_KEYEQ, tem);
+ ASET (item_properties, ITEM_PROPERTY_KEYEQ, keyeq);
+ }
/* Include this when menu help is implemented.
tem = XVECTOR (item_properties)->contents[ITEM_PROPERTY_HELP];
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] emacs/src ChangeLog keyboard.c,
Stefan Monnier <=