From 52a2b5d95c1a16e0f2b32eea597ec7a606f981fd Mon Sep 17 00:00:00 2001 From: Philip Kaludercic Date: Thu, 11 Apr 2024 09:00:50 +0200 Subject: [PATCH] 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. (cherry picked from commit 6c721af9c8ee2229af57491cc2833f6743c8ddab) --- lisp/help.el | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/lisp/help.el b/lisp/help.el index 97d0bfaa731..9b020486f55 100644 --- a/lisp/help.el +++ b/lisp/help.el @@ -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) -- 2.39.5