summaryrefslogtreecommitdiff
path: root/src/doc.c
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1994-02-04 23:09:25 +0000
committerRichard M. Stallman <rms@gnu.org>1994-02-04 23:09:25 +0000
commitc35902d1c59a5e8270f9e7b466df3b9aa63bf0f0 (patch)
tree7ed28f105b89dfc1c9518a5e7bdde13797fc68f0 /src/doc.c
parent013a5bf6e6e2dca97989b760eb3b1018957b564c (diff)
downloademacs-c35902d1c59a5e8270f9e7b466df3b9aa63bf0f0.tar.gz
(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.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/doc.c b/src/doc.c
index dd84e52e326..6beab625de9 100644
--- a/src/doc.c
+++ b/src/doc.c
@@ -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