On 09:48 Mon 29 Aug , Kevin Layer wrote: > 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. Somewhat off-topic, but I'll bite:
This is because *load-pathname* is likely to be a relative pathname, and relative pathnames have their own problems. The unix way of solving it is to transform relative pathnames with "$PWD/pathname" but I don't believe there is a builtin facility for doing the equivalent in common lisp, nor did I find one in a quick look throug uiop/pathname.