summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEshel Yaron <me@eshelyaron.com>2024-05-08 18:05:20 +0200
committerEshel Yaron <me@eshelyaron.com>2024-05-08 18:05:20 +0200
commit840c33070dc789d5095a47fa65f4f77564cd6e59 (patch)
tree40bb3bb3a17285ffe294870df4fbd6cd6f177403
parentde5a89254cb8645143e9f4e51a1727a7237109e8 (diff)
downloademacs-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.el16
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