[asdf-devel] SBCL 1.0.49 / ASDF 2.015.3 doesn't load my asdf systems anymore
Faré
fahree at gmail.com
Sat Jun 11 15:38:28 UTC 2011
>> ASDF doesn't introduce logical pathnames, and when you provide them,
>> it makes sure to pass them through to the implementation.
>
> Behaviour of logical pathnames with DIRECTORY is somewhat underspecified.
>
> Given
>
> (setf (logical-pathname-translations "foo")
> `(("**;*.fasl.*" "/home/foo/faslcache/**/*.fasl")
> ("**;*.*.*" "/home/foo/**/*.*")))
>
> and existence both
>
> /home/foo/faslcache/bar/quux.fasl
> /home/foo/bar/quux.fasl
>
> should
>
> (directory "foo:bar;x.fasl")
>
> return both, or just the one in faslcache?
>
> SBCL opts for both (modulo the aforementioned bug), other
> implementations may do things differently.
>
I think if it's trying that hard, it should show only the first:
only the fasl one is available through the LPN. And then,
with :resolve-symlinks nil (or some other implementation-specific hack),
it should give the logical pathname of that file instead of its truename.
But yes, I realize that the most recent way I cache the results
of the search for all .asd files now (per DIRECTORY returning
TRUENAMEs in the standard) breaks the previous ASDF promise of
not transforming logical-pathname's into physical pathnames.
ASDF BUG - or at least degradation in behavior to LPN users.
> Calling TRANSLATE-LOGICAL-PATHNAME first makes the answer unambiguous
> -- just the faslcache one, thanks -- which is why I believe ASDF
> should do that prior to calling DIRECTORY.
>
It's also the wrong thing wrt what ASDF would like to do to support
logical pathname users in the same way as before.
I see an ASDF 2.016.2 patch release coming.
PS: I'm impressed with how quick you came with a fix. Thank you!
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
For pretty much every writer, the big problem isn't piracy, it's obscurity.
— Tim O'Reilly, as cited by Cory Doctorow
More information about the asdf-devel
mailing list