* lisp/repeat.el (describe-repeat): New command (bug#49265).
This commit is contained in:
parent
cd339e85a6
commit
94a2ef436b
1 changed files with 23 additions and 1 deletions
|
@ -397,7 +397,7 @@ When Repeat mode is enabled, and the command symbol has the property named
|
|||
(and (commandp s)
|
||||
(get s 'repeat-map)
|
||||
(push (get s 'repeat-map) keymaps))))))
|
||||
(message "Repeat mode is enabled for %d commands and %d keymaps"
|
||||
(message "Repeat mode is enabled for %d commands and %d keymaps; see `describe-repeat'."
|
||||
(length commands)
|
||||
(length (delete-dups keymaps))))))
|
||||
|
||||
|
@ -489,6 +489,28 @@ When Repeat mode is enabled, and the command symbol has the property named
|
|||
repeat-echo-mode-line-string)))
|
||||
(force-mode-line-update t)))
|
||||
|
||||
(defun describe-repeat ()
|
||||
"Describe repeatable commands and keymaps."
|
||||
(interactive)
|
||||
(help-setup-xref (list #'describe-repeat)
|
||||
(called-interactively-p 'interactive))
|
||||
(let ((keymaps nil))
|
||||
(all-completions
|
||||
"" obarray (lambda (s)
|
||||
(and (commandp s)
|
||||
(get s 'repeat-map)
|
||||
(push s (alist-get (get s 'repeat-map) keymaps)))))
|
||||
(with-help-window (help-buffer)
|
||||
(with-current-buffer standard-output
|
||||
(princ "This is a list of repeatable keymaps and commands.\n\n")
|
||||
|
||||
(dolist (keymap (sort keymaps (lambda (a b) (string-lessp (car a) (car b)))))
|
||||
(princ (format-message "`%s' keymap is repeatable by these commands:\n"
|
||||
(car keymap)))
|
||||
(dolist (command (sort (cdr keymap) 'string-lessp))
|
||||
(princ (format-message " `%s'\n" command)))
|
||||
(princ "\n"))))))
|
||||
|
||||
(provide 'repeat)
|
||||
|
||||
;;; repeat.el ends here
|
||||
|
|
Loading…
Add table
Reference in a new issue