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