On 30 January 2014 16:48, Ville Voutilainen ville.voutilainen@gmail.com wrote:
On 30 January 2014 16:14, Mark Evenson evenson@panix.com wrote:
With a (hopefully) carefully done refactoring of the underlying Pathname.listDirectory() routine, the semantics of CL:DIRECTORY are now:
(PATHSPEC &KEY (RESOLVE-SYMLINKS NIL))
I vaguely remember why I made resolve-symlinks default to T, and I think it was because sbcl seemed to do so. I advise caution with such semantics changes, I think we had some libraries that went nuts if the default wasn't T. I can't remember the details, though.
Oh. Now that I think about it, it probably wasn't any sbcl compatibility thing, but rather that our older DIRECTORY implementation semantics before resolve-symlinks was introduced were so that, well, symlinks were resolved. Therefore we, at the time, wanted to preserve those semantics. I think that means it should probably be ok to change the default.
I think if ASDF is ok with the change, it should be safe. I have a vague recollection that the whole facility of being able to specify resolve-symlinks, and specifically set it to NIL was because ASDF needed it. That also suggests that defaulting to NIL is just better.