[asdf-devel] Small patch for cmucl and subdirectories

Raymond Toy toy.raymond at gmail.com
Mon Mar 28 17:52:35 UTC 2011


Currently, cmucl fails the asdf test test-configuration.  This is
because SUBDIRECTORIES returns the wrong things.  The test prints out
the following before failing because foo1.asd cannot be found:

subdirectories of dir2/: (#P"/Volumes/share2/src/clnet/asdf/tmp/dir2/dir3/foo1.asd"
                          #P"/Volumes/share2/src/clnet/asdf/tmp/dir2/dir4/foo2.asd")
subdirectories of dir5/: (#P"/Volumes/share2/src/clnet/asdf/tmp/dir5/dir6/foo4.asd"
                          #P"/Volumes/share2/src/clnet/asdf/tmp/dir5/dir7/foo5.asd")
  0: (PROCESS-SOURCE-REGISTRY WRAPPING-SOURCE-REGISTRY
                              :REGISTER #<Closure Over Function "DEFUN* FLATTEN-SOURCE-REGISTRY"
                                          {48342C89}>
                              :INHERIT ...)
  0: PROCESS-SOURCE-REGISTRY returned NIL
Source Registry: ((#P"/Volumes/share2/src/clnet/asdf/tmp/dir1/"
                   #P"/Volumes/share2/src/clnet/asdf/tmp/dir2/"
                   #P"/Volumes/share2/src/clnet/asdf/tmp/dir2/dir3/foo1.asd"
                   #P"/Volumes/share2/src/clnet/asdf/tmp/dir2/dir4/foo2.asd"
                   #P"/Volumes/share2/src/clnet/asdf/tmp/dir5/dir6/"
                   #P"/Volumes/share2/src/clnet/asdf/tmp/dir8/"
                   #P"/Volumes/share2/src/clnet/asdf/tmp/dir9/dira/"
                   #P"/Volumes/share2/src/clnet/asdf/tmp/dir9/dira/dirc/foo8.asd"))
;; Loading #P"/Volumes/share2/src/clnet/asdf/tmp/dir1/foo0.asd".


Here is a small patch for SUBDIRECTORIES that makes it return the
expected subdirectories.  This basically makes cmucl use the same code
path as scl.

If this doesn't make it into another asdf release before the cmucl
snapshot due in a week or so, I'll apply this patch to cmucl's version
for now.

Ray

diff --git a/asdf.lisp b/asdf.lisp
index 1d3e0b5..4d078ae 100755
--- a/asdf.lisp
+++ b/asdf.lisp
@@ -3521,9 +3521,9 @@ with a different configuration, so the configuration would be re-read then."
   (let* ((directory (ensure-directory-pathname directory))
          #-(or cormanlisp genera)
          (wild (merge-pathnames*
-                #-(or abcl allegro lispworks scl)
+                #-(or abcl allegro lispworks scl cmu)
                 *wild-directory*
-                #+(or abcl allegro lispworks scl) "*.*"
+                #+(or abcl allegro lispworks scl cmu) "*.*"
                 directory))
          (dirs
           #-(or cormanlisp genera)
@@ -3532,7 +3532,7 @@ with a different configuration, so the configuration would be re-read then."
                                      #+mcl '(:directories t))))
           #+cormanlisp (cl::directory-subdirs directory)
           #+genera (fs:directory-list directory))
-         #+(or abcl allegro genera lispworks scl)
+         #+(or abcl allegro genera lispworks scl cmu)
          (dirs (remove-if-not #+abcl #'extensions:probe-directory
                               #+allegro #'excl:probe-directory
                               #+lispworks #'lw:file-directory-p






More information about the asdf-devel mailing list