* keymap.c (where_is_internal_data): Make noindirect a boolean.
authorStefan Monnier <monnier@iro.umontreal.ca>
Thu, 10 Sep 2009 16:19:52 +0000 (16:19 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Thu, 10 Sep 2009 16:19:52 +0000 (16:19 +0000)
commita88a5372fd9b93a3f8e3a3264de867f0ee0590cd
tree8c62d5d4b38e1227ea0f54bc193d3328f6be8a89
parenta126db16fa29e84987cf4e37434eeaebc43d72bb
* 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.
src/ChangeLog
src/doc.c
src/keyboard.c
src/keymap.c