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/doc.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/doc.c')
| -rw-r--r-- | src/doc.c | 5 |
1 files changed, 1 insertions, 4 deletions
| @@ -802,10 +802,7 @@ a new string, without any text properties, is returned. */) | |||
| 802 | name = Fintern (make_string (start, length_byte), Qnil); | 802 | name = Fintern (make_string (start, length_byte), Qnil); |
| 803 | 803 | ||
| 804 | do_remap: | 804 | do_remap: |
| 805 | /* Ignore remappings unless there are no ordinary bindings. */ | 805 | tem = Fwhere_is_internal (name, keymap, Qt, Qnil, Qnil); |
| 806 | tem = Fwhere_is_internal (name, keymap, Qt, Qnil, Qt); | ||
| 807 | if (NILP (tem)) | ||
| 808 | tem = Fwhere_is_internal (name, keymap, Qt, Qnil, Qnil); | ||
| 809 | 806 | ||
| 810 | if (VECTORP (tem) && XVECTOR (tem)->size > 1 | 807 | if (VECTORP (tem) && XVECTOR (tem)->size > 1 |
| 811 | && EQ (AREF (tem, 0), Qremap) && SYMBOLP (AREF (tem, 1)) | 808 | && EQ (AREF (tem, 0), Qremap) && SYMBOLP (AREF (tem, 1)) |