From: Eli Zaretskii Date: Thu, 23 Mar 2023 08:31:56 +0000 (+0200) Subject: Allow showing prefix commands in Help buffers X-Git-Tag: emacs-29.0.90~107 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=19c95b141606282915ed6c1a3f2c42a6b7a4420b;p=emacs.git Allow showing prefix commands in Help buffers * lisp/help.el (describe-bindings-show-prefix-commands): New user option. (describe-map): Use it to decide whether to output prefix commands. Patch by Bob Rogers . (Bug#62279) * etc/NEWS: Document 'describe-bindings-show-prefix-commands'. --- diff --git a/etc/NEWS b/etc/NEWS index 0b651f7a519..d7a6cf7986d 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -3565,11 +3565,13 @@ font spec. In these cases, replacing ":weight 'normal" with ":weight 'medium" should fix the issue. --- -** Keymap descriptions have changed. +** Keymap descriptions by Help commands have changed. 'help--describe-command', 'C-h b' and associated functions that output keymap descriptions have changed. In particular, prefix commands are -not output at all, and instead of "??" for closures/functions, -"[closure]"/"[lambda]" is output. +not output at all, and instead of "??" for closures/functions, these +functions output "[closure]"/"[lambda]". You can get back the old +behavior of including prefix commands by customizing the new option +'describe-bindings-show-prefix-commands' to a non-nil value. --- ** 'downcase' details have changed slightly. diff --git a/lisp/help.el b/lisp/help.el index 83be85b1ee4..3e94b5046e5 100644 --- a/lisp/help.el +++ b/lisp/help.el @@ -717,6 +717,12 @@ Return nil if KEYS is nil." :group 'help :version "29.1") +(defcustom describe-bindings-show-prefix-commands nil + "Non-nil means show prefix commands in the output of `describe-bindings'." + :type 'boolean + :group 'help + :version "29.1") + (declare-function outline-hide-subtree "outline") (defun describe-bindings (&optional prefix buffer) @@ -1699,6 +1705,7 @@ in `describe-map-tree'." (setq vect (cdr vect)) (setq end (caar vect)))) (when (or (not (eq start end)) + describe-bindings-show-prefix-commands ;; Don't output keymap prefixes. (not (keymapp definition))) (when first