aboutsummaryrefslogtreecommitdiffstats
path: root/src/doc.c
diff options
context:
space:
mode:
authorStefan Monnier2009-09-10 16:19:52 +0000
committerStefan Monnier2009-09-10 16:19:52 +0000
commita88a5372fd9b93a3f8e3a3264de867f0ee0590cd (patch)
tree8c62d5d4b38e1227ea0f54bc193d3328f6be8a89 /src/doc.c
parenta126db16fa29e84987cf4e37434eeaebc43d72bb (diff)
downloademacs-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.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/src/doc.c b/src/doc.c
index 6d5862ce292..71308e6904f 100644
--- a/src/doc.c
+++ b/src/doc.c
@@ -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))