Allow 'help-quick' to use a non-global keymap

* lisp/help.el (help-quick-sections): Mention
'help-quick-use-map' in docstring.
(help-quick-use-map): Add new variable, defaulting to the
global-map.
(help-quick): Use new variable.
This commit is contained in:
Philip Kaludercic 2024-04-11 09:00:50 +02:00
parent 5f6834ab97
commit 6c721af9c8

View file

@ -171,9 +171,15 @@ Value should be a list of elements, each element should of the form
(GROUP-NAME (COMMAND . DESCRIPTION) (COMMAND . DESCRIPTION)...)
where GROUP-NAME is the name of the group of the commands,
COMMAND is the symbol of a command and DESCRIPTION is its short
description, 10 to 15 characters at most.")
where GROUP-NAME is the name of the group of the commands, COMMAND is
the symbol of a command and DESCRIPTION is its short description, 10 to
15 characters at most. The bindings for COMMAND are looked up from the
keymap specified in `help-quick-use-map'.")
(defvar help-quick-use-map global-map
"Keymap that `help-quick' should use to lookup bindings.
Avoid changing the global value of this variable. Instead bind a
different map dynamically.")
(declare-function prop-match-value "text-property-search" (match))
@ -193,7 +199,7 @@ the documentation of the command bound to that key sequence."
(let ((max-key-len 0) (max-cmd-len 0) keys)
(dolist (ent (reverse (cdr section)))
(catch 'skip
(let* ((bind (where-is-internal (car ent) nil t))
(let* ((bind (where-is-internal (car ent) help-quick-use-map t))
(key (if bind
(propertize
(key-description bind)