Mercurial > emacs
changeset 48193:0afe1465ac57
(where-is): Repport also aliases of the passed command.
author | Juanma Barranquero <lekktu@gmail.com> |
---|---|
date | Thu, 07 Nov 2002 16:45:46 +0000 |
parents | 1acfacdf062a |
children | b1cc58b1a509 |
files | lisp/help.el |
diffstat | 1 files changed, 32 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/help.el Thu Nov 07 15:22:49 2002 +0000 +++ b/lisp/help.el Thu Nov 07 16:45:46 2002 +0000 @@ -420,21 +420,38 @@ (list (if (equal val "") fn (intern val)) current-prefix-arg))) - (let* ((remapped (remap-command definition)) - (keys (where-is-internal definition overriding-local-map nil nil remapped)) - (keys1 (mapconcat 'key-description keys ", ")) - (standard-output (if insert (current-buffer) t))) - (if insert - (if (> (length keys1) 0) - (if remapped - (princ (format "%s (%s) (remapped from %s)" keys1 remapped definition)) - (princ (format "%s (%s)" keys1 definition))) - (princ (format "M-x %s RET" definition))) - (if (> (length keys1) 0) - (if remapped - (princ (format "%s is remapped to %s which is on %s" definition remapped keys1)) - (princ (format "%s is on %s" definition keys1))) - (princ (format "%s is not on any key" definition))))) + (let ((func (indirect-function definition)) + (map nil) + (standard-output (if insert (current-buffer) t))) + (mapatoms #'(lambda (symbol) + (when (and (not (eq symbol definition)) + (fboundp symbol) + (eq func (indirect-function symbol))) + (setq map (cons symbol map))))) + (princ (mapconcat + #'(lambda (symbol) + (let* ((remapped (remap-command symbol)) + (keys (mapconcat 'key-description + (where-is-internal symbol + overriding-local-map + nil nil + remapped) + ", "))) + (if insert + (if (> (length keys) 0) + (if remapped + (format "%s (%s) (remapped from %s)" + keys remapped symbol) + (format "%s (%s)" keys symbol)) + (format "M-x %s RET" symbol)) + (if (> (length keys) 0) + (if remapped + (format "%s is remapped to %s which is on %s" + definition symbol keys) + (format "%s is on %s" symbol keys)) + (format "%s is not on any key" symbol))))) + (cons definition map) + ";\nand "))) nil) (defun string-key-binding (key)