From: Eli Zaretskii Date: Sat, 20 Apr 2024 09:11:18 +0000 (+0300) Subject: Avoid "C-h for help" prompt in "C-h" commands describing keys X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=6caac728a67fc6656e1047d875dcc9e68a507fa9;p=emacs.git 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) (cherry picked from commit 08b55ec559bd3e203abe5bbbdc2bc9135d385222) --- diff --git a/lisp/help.el b/lisp/help.el index 9b020486f55..46b3200d736 100644 --- a/lisp/help.el +++ b/lisp/help.el @@ -1053,6 +1053,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) @@ -1070,8 +1073,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) diff --git a/lisp/info.el b/lisp/info.el index b1b9d48855a..c2c393cb243 100644 --- a/lisp/info.el +++ b/lisp/info.el @@ -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)))