[armedbear-cvs] r11776 - trunk/abcl/src/org/armedbear/lisp

Erik Huelsmann ehuelsmann at common-lisp.net
Tue Apr 21 20:56:12 UTC 2009


Author: ehuelsmann
Date: Tue Apr 21 16:56:11 2009
New Revision: 11776

Log:
Fix DO-ALL-SYMBOLS.{6,9,12}: we can't use DOLIST, because it has
an implicit NIL block surrounding it. MAPC doesn't.


Modified:
   trunk/abcl/src/org/armedbear/lisp/do-all-symbols.lisp

Modified: trunk/abcl/src/org/armedbear/lisp/do-all-symbols.lisp
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/do-all-symbols.lisp	(original)
+++ trunk/abcl/src/org/armedbear/lisp/do-all-symbols.lisp	Tue Apr 21 16:56:11 2009
@@ -40,12 +40,14 @@
          (flet ((,flet-name (,var)
                  , at decls
                  (tagbody , at forms)))
-           (dolist (package (list-all-packages))
-             (flet ((iterate-over-symbols (symbols)
-                      (dolist (symbol symbols)
-                        (,flet-name symbol))))
-               (iterate-over-symbols (package-internal-symbols package))
-               (iterate-over-symbols (package-external-symbols package)))))
+           (mapc #'(lambda (package) 
+                     (flet ((iterate-over-symbols (symbols)
+                              (mapc #',flet-name symbols)))
+                       (iterate-over-symbols
+                        (package-internal-symbols package))
+                       (iterate-over-symbols
+                        (package-external-symbols package))))
+                 (list-all-packages)))
          (let ((,var nil))
            (declare (ignorable ,var))
            , at decls




More information about the armedbear-cvs mailing list