*LOAD-TRUENAME* and ASDF

Robert Goldman rpgoldman at sift.net
Mon Aug 29 19:59:00 UTC 2016


On 8/29/16 Aug 29 -11:48 AM, Kevin Layer wrote:
> 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
> 

That's a good point.  But for what it's worth, the issue here remains,
whether it's *load-truename* or *load-pathname*.

Cheers,
r




More information about the asdf-devel mailing list