Avoid "C-h for help" prompt in "C-h" commands describing keys

* lisp/info.el (Info-goto-emacs-key-command-node): Call
'read-key-sequence' instead of using 'interactive' with the "k"
code, and suppress the "C-h for help" echo.
* lisp/help.el (help--read-key-sequence): Suppress the "C-h for
help" prompt in echo-keystrokes.  Give the prompt the
'minibuffer-prompt' face.  (Bug#70432)
This commit is contained in:
Eli Zaretskii 2024-04-20 12:11:18 +03:00
parent 1bbc2fa416
commit 08b55ec559
2 changed files with 16 additions and 2 deletions

View file

@ -1049,6 +1049,9 @@ with `mouse-movement' events."
(let ((enable-disabled-menus-and-buttons t)
(cursor-in-echo-area t)
(side-event nil)
;; Showing the list of key sequences makes no sense when they
;; asked about a key sequence.
(echo-keystrokes-help nil)
saved-yank-menu)
(unwind-protect
(let (last-modifiers key-list)
@ -1066,8 +1069,11 @@ with `mouse-movement' events."
;; After a click, see if a double click is on the way.
(and (memq 'click last-modifiers)
(not (sit-for (/ (mouse-double-click-time) 1000.0) t))))
(let* ((seq (read-key-sequence "\
(let* ((prompt
(propertize "\
Describe the following key, mouse click, or menu item: "
'face 'minibuffer-prompt))
(seq (read-key-sequence prompt
nil nil 'can-return-switch-frame))
(raw-seq (this-single-command-raw-keys))
(keyn (when (> (length seq) 0)

View file

@ -4794,7 +4794,15 @@ Interactively, if the binding is `execute-extended-command', a command is read.
The command is found by looking up in Emacs manual's indices
or in another manual found via COMMAND's `info-file' property or
the variable `Info-file-list-for-emacs'."
(interactive "kFind documentation for key: ")
(interactive
(let ((enable-disabled-menus-and-buttons t)
(cursor-in-echo-area t)
;; Showing the list of key sequences makes no sense when they
;; asked about a key sequence.
(echo-keystrokes-help nil)
(prompt (propertize "Find documentation for key: "
'face 'minibuffer-prompt)))
(list (read-key-sequence prompt nil nil 'can-return-switch-frame))))
(let ((command (key-binding key)))
(cond ((null command)
(message "%s is undefined" (key-description key)))