]> git.eshelyaron.com Git - emacs.git/commitdiff
(where-is): Rename map to defs (a list of syms is not a map).
authorStefan Monnier <monnier@iro.umontreal.ca>
Thu, 7 Nov 2002 18:28:09 +0000 (18:28 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Thu, 7 Nov 2002 18:28:09 +0000 (18:28 +0000)
Test fboundp first, to speed things up.  Use push.

lisp/help.el

index eb54aec958bcc2d3342d72393dc3a8825e1f4a50..4002a0aee1646cd1f3b030fffa0cc9fbf9514fb1 100644 (file)
@@ -413,30 +413,26 @@ If INSERT (the prefix arg) is non-nil, insert the message in the buffer."
    (let ((fn (function-called-at-point))
         (enable-recursive-minibuffers t)
         val)
-     (setq val (completing-read (if fn
-                                   (format "Where is command (default %s): " fn)
-                                 "Where is command: ")
-                               obarray 'commandp t))
-     (list (if (equal val "")
-              fn (intern val))
-          current-prefix-arg)))
+     (setq val (completing-read
+               (if fn
+                   (format "Where is command (default %s): " fn)
+                 "Where is command: ")
+               obarray 'commandp t))
+     (list (if (equal val "") fn (intern val)) current-prefix-arg)))
   (let ((func (indirect-function definition))
-        (map nil)
+        (defs 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)))))
+    (mapatoms (lambda (symbol)
+               (and (fboundp symbol)
+                    (not (eq symbol definition))
+                    (eq func (indirect-function symbol))
+                    (push symbol defs))))
     (princ (mapconcat
             #'(lambda (symbol)
                 (let* ((remapped (remap-command symbol))
-                       (keys (mapconcat 'key-description
-                                        (where-is-internal symbol
-                                                           overriding-local-map
-                                                           nil nil
-                                                           remapped)
-                                        ", ")))
+                      (keys (where-is-internal
+                             symbol overriding-local-map nil nil remapped))
+                       (keys (mapconcat 'key-description keys ", ")))
                   (if insert
                       (if (> (length keys) 0)
                           (if remapped
@@ -450,7 +446,7 @@ If INSERT (the prefix arg) is non-nil, insert the message in the buffer."
                                     definition symbol keys)
                           (format "%s is on %s" symbol keys))
                       (format "%s is not on any key" symbol)))))
-            (cons definition map)
+            (cons definition defs)
             ";\nand ")))
   nil)