]> git.eshelyaron.com Git - emacs.git/commitdiff
Allow 'help-quick' to use a non-global keymap
authorPhilip Kaludercic <philipk@posteo.net>
Thu, 11 Apr 2024 07:00:50 +0000 (09:00 +0200)
committerEshel Yaron <me@eshelyaron.com>
Sun, 14 Apr 2024 17:09:58 +0000 (19:09 +0200)
* 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.

(cherry picked from commit 6c721af9c8ee2229af57491cc2833f6743c8ddab)

lisp/help.el

index 97d0bfaa731c04963c32da4b55c605a37f451ef7..9b020486f556905094ea6c90335481fe738028d1 100644 (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)