diff options
author | Eshel Yaron <me@eshelyaron.com> | 2024-05-08 18:05:20 +0200 |
---|---|---|
committer | Eshel Yaron <me@eshelyaron.com> | 2024-05-08 18:05:20 +0200 |
commit | 840c33070dc789d5095a47fa65f4f77564cd6e59 (patch) | |
tree | 40bb3bb3a17285ffe294870df4fbd6cd6f177403 | |
parent | de5a89254cb8645143e9f4e51a1727a7237109e8 (diff) | |
download | emacs-840c33070dc789d5095a47fa65f4f77564cd6e59.tar.gz |
(repeat-echo-message-string): Reuse 'r-m-c' prompt formatting
Now that 'repeat-mode' supports adding labels ("hints") next to
available keys, its prompt is very similar in its structure to
what we have in 'read-multiple-choice' (a list of labeled keys).
To make the two interfaces more consistent, reuse the prompt
formatting that 'read-multiple-choice' employs.
See short discussion at
https://lists.gnu.org/archive/html/emacs-devel/2024-05/msg00467.html
* lisp/repeat.el (repeat-echo-message-string): Use
'rmc--add-key-description' to format keys and their labels.
-rw-r--r-- | lisp/repeat.el | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/lisp/repeat.el b/lisp/repeat.el index 412afc35ba7..374a925d70c 100644 --- a/lisp/repeat.el +++ b/lisp/repeat.el @@ -558,14 +558,14 @@ This function can be used to force exit of repetition while it's active." (format-message "Repeat with %s%s" (mapconcat (lambda (key-cmd) - (let* ((key (car key-cmd)) - (cmd (cdr key-cmd)) - (hint (when (symbolp cmd) - (get cmd 'repeat-hint)))) - (substitute-command-keys - (format "\\`%s'%s" - (key-description (vector key)) - (if hint (format ":%s" hint) ""))))) + (let ((key (car key-cmd)) + (cmd (cdr key-cmd))) + (if-let ((hint (and (symbolp cmd) + (get cmd 'repeat-hint)))) + ;; Reuse `read-multiple-choice' formatting. + (cdr (rmc--add-key-description (list key hint))) + (propertize (key-description (vector key)) + 'face 'read-multiple-choice-face)))) keys ", ") (if repeat-exit-key (substitute-command-keys |