Make sure the binding shown by echo-keystrokes-help is not shadowed
And choose just one binding to display rather than two together. (https://lists.gnu.org/archive/html/emacs-devel/2024-02/msg00311.html) * lisp/help.el (help--append-keystrokes-help): New function. * src/keyboard.c (syms_of_keyboard): Add a symbol for it. (echo_dash): Use them here.
This commit is contained in:
parent
faa46eb866
commit
c0f656617d
2 changed files with 26 additions and 8 deletions
21
lisp/help.el
21
lisp/help.el
|
@ -2253,6 +2253,27 @@ The `temp-buffer-window-setup-hook' hook is called."
|
|||
(with-output-to-temp-buffer " *Char Help*"
|
||||
(princ msg)))))
|
||||
|
||||
(defun help--append-keystrokes-help (str)
|
||||
(let* ((keys (this-single-command-keys))
|
||||
(bindings (delete nil
|
||||
(mapcar (lambda (map) (lookup-key map keys t))
|
||||
(current-active-maps t)))))
|
||||
(catch 'res
|
||||
(dolist (val help-event-list)
|
||||
(let ((key (vector (if (eql val 'help)
|
||||
help-char
|
||||
val))))
|
||||
(unless (seq-find (lambda (map) (and (keymapp map) (lookup-key map key)))
|
||||
bindings)
|
||||
(throw 'res
|
||||
(concat
|
||||
str
|
||||
(substitute-command-keys
|
||||
(format
|
||||
" (\\`%s' for help)"
|
||||
(key-description key))))))))
|
||||
str)))
|
||||
|
||||
|
||||
(defun help--docstring-quote (string)
|
||||
"Return a doc string that represents STRING.
|
||||
|
|
|
@ -594,14 +594,9 @@ echo_dash (void)
|
|||
concat2 (KVAR (current_kboard, echo_string), dash));
|
||||
|
||||
if (echo_keystrokes_help)
|
||||
{
|
||||
Lisp_Object help;
|
||||
|
||||
help = build_string (" (\\`C-h' or \\`<f1>' for help)");
|
||||
kset_echo_string (current_kboard,
|
||||
concat2 (KVAR (current_kboard, echo_string),
|
||||
calln (Qsubstitute_command_keys, help)));
|
||||
}
|
||||
kset_echo_string (current_kboard,
|
||||
calln (Qhelp__append_keystrokes_help,
|
||||
KVAR (current_kboard, echo_string)));
|
||||
|
||||
echo_now ();
|
||||
}
|
||||
|
@ -12962,6 +12957,8 @@ syms_of_keyboard (void)
|
|||
|
||||
DEFSYM (Qhelp_key_binding, "help-key-binding");
|
||||
|
||||
DEFSYM (Qhelp__append_keystrokes_help, "help--append-keystrokes-help");
|
||||
|
||||
DEFSYM (Qecho_keystrokes, "echo-keystrokes");
|
||||
|
||||
Fset (Qinput_method_exit_on_first_char, Qnil);
|
||||
|
|
Loading…
Add table
Reference in a new issue