diff options
author | Richard M. Stallman <[email protected]> | 1994-02-04 23:09:25 +0000 |
---|---|---|
committer | Richard M. Stallman <[email protected]> | 1994-02-04 23:09:25 +0000 |
commit | 9a425dcb39e07b6cda4c7ba217162fdc9aa3aeb7 (patch) | |
tree | f32200a76ac607fdee7e2bfee4269526ca038089 /src/doc.c | |
parent | 9228cfacd5fb124243299e27681a06ed93b61db0 (diff) |
(Fsubstitute_command_keys): Pass keymap as that arg
to Fwhere_is_internal. Init keymap from Voverriding_local_map.
Diffstat (limited to 'src/doc.c')
-rw-r--r-- | src/doc.c | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -37,6 +37,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ Lisp_Object Vdoc_file_name; +extern Lisp_Object Voverriding_local_map; + Lisp_Object get_doc_string (filepos) long filepos; @@ -391,7 +393,11 @@ thus, \\=\\=\\=\\= puts \\=\\= into the output, and \\=\\=\\=\\[ puts \\=\\[ int name = Qnil; GCPRO4 (str, tem, keymap, name); - keymap = current_buffer->keymap; + /* KEYMAP is either nil (which means search all the active keymaps) + or a specified local map (which means search just that and the + global map). If non-nil, it might come from Voverriding_local_map, + or from a \\<mapname> construct in STR itself.. */ + keymap = Voverriding_local_map; bsize = XSTRING (str)->size; bufp = buf = (unsigned char *) xmalloc (bsize); @@ -425,7 +431,7 @@ thus, \\=\\=\\=\\= puts \\=\\= into the output, and \\=\\=\\=\\[ puts \\=\\[ int /* Save STRP in IDX. */ idx = strp - (unsigned char *) XSTRING (str)->data; tem = Fintern (make_string (start, length), Qnil); - tem = Fwhere_is_internal (tem, keymap, Qnil, Qt, Qnil); + tem = Fwhere_is_internal (tem, keymap, Qt, Qnil); /* Disregard menu bar bindings; it is positively annoying to mention them when there's no menu bar, and it isn't terribly |