]> git.eshelyaron.com Git - emacs.git/commitdiff
Re-implement find-all-symbols
authorGerd Möllmann <gerd@gnu.org>
Sat, 12 Aug 2023 14:21:02 +0000 (16:21 +0200)
committerGerd Möllmann <gerd@gnu.org>
Sat, 12 Aug 2023 14:21:02 +0000 (16:21 +0200)
lisp/emacs-lisp/pkg.el

index 5083a05658547150c4e4d2835531bf3022433597..6f460482ba4c9b9d48ad48d304107f1965ae5542 100644 (file)
@@ -726,12 +726,12 @@ Value is t."
 (defun find-all-symbols (name)
   "Return a list of all symbols in the system having the specified name."
   (let ((name (pkg--stringify-name name "symbol name"))
-       (result ()))
-    (maphash #'(lambda (_package-name package)
-                 (cl-multiple-value-bind (sym _status) (find-symbol name package)
-                  (when sym
-                     (cl-pushnew sym result))))
-            *package-registry*)
+       (result ())
+        (all-packages (cl-remove-duplicates (hash-table-values *package-registry*))))
+    (dolist (package all-packages)
+      (cl-multiple-value-bind (sym _status) (find-symbol name package)
+       (when sym
+          (cl-pushnew sym result))))
     result))