From 65a39b7a544ee028a1e6153bd7e6b86d32d2f3e9 Mon Sep 17 00:00:00 2001 From: Stefan Kangas Date: Sun, 18 Sep 2022 11:29:52 +0200 Subject: [PATCH] Add face help-key-binding in help-char echo * src/keyboard.c (echo_add_key): Add help-key-binding face to the "?" key in 'help-char' echo. (syms_of_keyboard) : New DEFSYM. --- src/keyboard.c | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/src/keyboard.c b/src/keyboard.c index ca51c80da0..0a84047435 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -499,27 +499,19 @@ echo_add_key (Lisp_Object c) STRING_MULTIBYTE (name), 1); } + Lisp_Object new_string = make_string (buffer, ptr - buffer); if ((NILP (echo_string) || SCHARS (echo_string) == 0) && help_char_p (c)) { - static const char text[] = " (Type ? for further options)"; - int len = sizeof text - 1; - - if (size - (ptr - buffer) < len) - { - ptrdiff_t offset = ptr - buffer; - size += len; - buffer = SAFE_ALLOCA (size); - ptr = buffer + offset; - } - - memcpy (ptr, text, len); - ptr += len; + AUTO_STRING (str, " (Type ? for further options)"); + AUTO_LIST2 (props, Qface, Qhelp_key_binding); + Fadd_text_properties (make_fixnum (7), make_fixnum (8), props, str); + new_string = concat2 (new_string, str); } kset_echo_string (current_kboard, - concat2 (echo_string, make_string (buffer, ptr - buffer))); + concat2 (echo_string, new_string)); SAFE_FREE (); } @@ -12098,6 +12090,8 @@ syms_of_keyboard (void) doc: /* Message displayed by `normal-top-level'. */); Vinternal__top_level_message = regular_top_level_message; + DEFSYM (Qhelp_key_binding, "help-key-binding"); + /* Tool-bars. */ DEFSYM (QCimage, ":image"); DEFSYM (Qhelp_echo, "help-echo"); -- 2.30.2