# HG changeset patch # User Juanma Barranquero # Date 1036687546 0 # Node ID 0afe1465ac57d88144edc5ef89c98207ce048fd4 # Parent 1acfacdf062a7eda1909eaba2b21e2ae0d1270cb (where-is): Repport also aliases of the passed command. diff -r 1acfacdf062a -r 0afe1465ac57 lisp/help.el --- 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)