* lisp/repeat.el (repeat-echo-message-string):
Use 'cl--map-keymap-recursively' that iterates over
complete key sequences. Also it returns key vectors,
so don't need to use 'vector'.
(cherry picked from commit
2e937dc2b5ad7a87a099df3f014795e88df5cba9)
(defun repeat-echo-message-string (keymap)
"Return a string with the list of repeating keys in KEYMAP."
(let (keys)
- (map-keymap (lambda (key cmd) (and cmd (push (cons key cmd) keys)))
- keymap)
+ (cl--map-keymap-recursively
+ (lambda (key cmd) (and cmd (push (cons (copy-sequence key) cmd) keys)))
+ keymap)
(format-message
"Repeat with %s%s"
(mapconcat (lambda (key-cmd)
(if-let ((hint (and (symbolp cmd)
(get cmd 'repeat-hint))))
(rmc-key-description key hint)
- (propertize (key-description (vector key))
+ (propertize (key-description key)
'face 'read-multiple-choice))))
keys ", ")
(if repeat-exit-key