From 19c95b141606282915ed6c1a3f2c42a6b7a4420b Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Thu, 23 Mar 2023 10:31:56 +0200 Subject: [PATCH] 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'. --- etc/NEWS | 8 +++++--- lisp/help.el | 7 +++++++ 2 files changed, 12 insertions(+), 3 deletions(-) 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 -- 2.39.2