*LOAD-TRUENAME* and ASDF
Kevin Layer
layer at franz.com
Mon Aug 29 16:48:58 UTC 2016
Faré wrote:
>> > That said, I regret that we have accidentally broke innocent uses of
>> > *load-truename*.
>> >
>> > But maybe I can make a FAQ entry for this case.
>> >
>> There is nothing innocent about assuming that compiled file are close
>> to the source files, or that the source files are available at
>> runtime, what more at the same location as at compile-time. Unless may
>> if you're using Nix.
I've avoided getting into this discussion, but I feel I need to ask:
why use *load-truename* instead of *load-pathname*?
*load-truename* goes through symbolic links (even though the ANS says
nothing about it, this is the behavior of implementations I know of)
and that is almost always the wrong thing. GNU make doesn't do it, I
don't see why ASDF should do it. A build system should never itself
follow symlinks, because it defeats systems that have been in place
for 30+ years: linked directories of binary files linking to a single
source directory.
Kevin
More information about the asdf-devel
mailing list