diff options
| author | Stefan Monnier | 2009-09-10 16:19:52 +0000 |
|---|---|---|
| committer | Stefan Monnier | 2009-09-10 16:19:52 +0000 |
| commit | a88a5372fd9b93a3f8e3a3264de867f0ee0590cd (patch) | |
| tree | 8c62d5d4b38e1227ea0f54bc193d3328f6be8a89 /src/keyboard.c | |
| parent | a126db16fa29e84987cf4e37434eeaebc43d72bb (diff) | |
| download | emacs-a88a5372fd9b93a3f8e3a3264de867f0ee0590cd.tar.gz emacs-a88a5372fd9b93a3f8e3a3264de867f0ee0590cd.zip | |
* keymap.c (where_is_internal_data): Make noindirect a boolean.
(where_is_internal): Strip it down to only traverse the keymaps.
Move the cache handling from Fwhere_is_internal to here.
(Fwhere_is_internal): Move the handling of remapping and the choice of
the best binding from where_is_internal to here.
Unify the cached/noncached paths, so remapping is also handled
correctly when the cache is used, and so the cache can be used to
speed up remap-handling when applicable.
Give preference to non-remapped bindings.
* doc.c (Fsubstitute_command_keys): Let Fwhere_is_internal's prefer
non-remapped bindings.
* keyboard.c (parse_menu_item): Let Fwhere_is_internal handle
command remapping.
Diffstat (limited to 'src/keyboard.c')
| -rw-r--r-- | src/keyboard.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/src/keyboard.c b/src/keyboard.c index dfb625675a4..04af3585897 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -8158,11 +8158,7 @@ parse_menu_item (item, notreal, inmenubar) | |||
| 8158 | && SYMBOLP (XSYMBOL (def)->function) | 8158 | && SYMBOLP (XSYMBOL (def)->function) |
| 8159 | && ! NILP (Fget (def, Qmenu_alias))) | 8159 | && ! NILP (Fget (def, Qmenu_alias))) |
| 8160 | def = XSYMBOL (def)->function; | 8160 | def = XSYMBOL (def)->function; |
| 8161 | tem = Fwhere_is_internal (def, Qnil, Qt, Qnil, Qt); | 8161 | tem = Fwhere_is_internal (def, Qnil, Qt, Qnil, Qnil); |
| 8162 | |||
| 8163 | /* Don't display remap bindings.*/ | ||
| 8164 | if (VECTORP (tem) && ASIZE (tem) > 0 && EQ (AREF (tem, 0), Qremap)) | ||
| 8165 | tem = Qnil; | ||
| 8166 | 8162 | ||
| 8167 | XSETCAR (cachelist, tem); | 8163 | XSETCAR (cachelist, tem); |
| 8168 | if (NILP (tem)) | 8164 | if (NILP (tem)) |