![](https://secure.gravatar.com/avatar/0345f6261d6ced21145afdec166fd114.jpg?s=120&d=mm&r=g)
In other words, if I compute (directory #p"FOO:CL;BAR;"), and find a file #p"/home/baz/cl/bar/quux.asd", the file will be kept only if (make-pathname :name "quux" :type "asd" :defaults #p"FOO:CL;BAR;") has the previous as its truename. And similarly when walking directories. I believe this restriction is not a problem in practice, and will keep things somewhat sane.
I'm not sure if I understand all the implications of this change, so I'm hesitating to applaud this. I don't think it should be ASDF's job to fix this particular problem.
There are legitimate reasons in general for the truename to not commute with the setting of name and type: symlinks and clever pathname mappings to wholly different files; mapping of type fasl to implementation-specific type, etc. But for the specific sake of searching for .asd files, these reasons do not apply, and it's safer to avoid such cases: indeed, since the name of a .asd file has to match the name of the defsystem inside it, it's probably best to avoid looking for system "foo" in a file named "bar.c". Therefore, I think it's not wholly inappropriate for ASDF to do this filtering. As for filtering directory names — a bit ugly, but required by the behavior of DIRECTORY. If you think you must fix the spec and all implementations — good luck. —♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org You have the capacity to learn from mistakes. You'll learn a lot today.