]> git.eshelyaron.com Git - emacs.git/commitdiff
Make where-is correctly identify aliases
authorSebastian Urban <mrsebastianurban@gmail.com>
Fri, 28 Jan 2022 16:27:28 +0000 (17:27 +0100)
committerLars Ingebrigtsen <larsi@gnus.org>
Fri, 28 Jan 2022 16:27:28 +0000 (17:27 +0100)
* lisp/help.el (where-is): Make aliases correctly say which
function is an alias for what (bug#37325).

lisp/help.el

index 983f39479cb0604fb357279d6b230319e74242bc..eb024373e4519b02d532b8d6fd378142b185678e 100644 (file)
@@ -650,15 +650,21 @@ If INSERT (the prefix arg) is non-nil, insert the message in the buffer."
              (if insert
                  (if (> (length keys) 0)
                      (if remapped
-                         (format "%s (%s) (remapped from %s)"
-                                 keys remapped symbol)
-                       (format "%s (%s)" keys symbol))
+                         (format "%s, remapped to %s (%s)"
+                                  symbol remapped keys)
+                       (format "%s (%s)" symbol keys))
                    (format "M-x %s RET" symbol))
                (if (> (length keys) 0)
                    (if remapped
-                       (format "%s is remapped to %s which is on %s"
-                               symbol remapped keys)
-                     (format "%s is on %s" symbol keys))
+                       (if (eq symbol (symbol-function definition))
+                           (format
+                             "%s, which is remapped to %s, which is on %s"
+                            symbol remapped keys)
+                         (format "%s is remapped to %s, which is on %s"
+                                 symbol remapped keys))
+                     (if (eq symbol (symbol-function definition))
+                         (format "%s, which is on %s" symbol keys)
+                       (format "%s is on %s" symbol keys)))
                  ;; If this is the command the user asked about,
                  ;; and it is not on any key, say so.
                  ;; For other symbols, its aliases, say nothing
@@ -667,7 +673,9 @@ If INSERT (the prefix arg) is non-nil, insert the message in the buffer."
                      (format "%s is not on any key" symbol)))))
        (when string
          (unless (eq symbol definition)
-           (princ ";\n its alias "))
+           (if (eq definition (symbol-function symbol))
+               (princ ";\n its alias ")
+             (princ ";\n it's an alias for ")))
          (princ string)))))
   nil)