Robert Goldman rpgoldman@sift.info writes:
I think that this change may be annoying to Unix[1] *users* who start up their lisp from the shell, and who have expectations about how their lisp implementation is going to set the *default-pathname-defaults* from the current working directory.
In my understanding, Thomas is not proposing to change *default-pathname-defaults* but to define another variable, specific to ASDF.
In my mind, *default-pathname-defaults* is a user variable: the user may change it as he wants for whatever purpose he wants. For example, I have cd/pwd/pushd/popd functions that maintain the synchronicity between *default-pathname-defaults* and the current working directory on POSIX systems.
It would be bad if the user changing *default-pathname-defaults* for whatever purpose unrelated to asdf would impact the behavior of asdf.
An example, was a bug in clisp, where (require "module") could not find the its module anymore when *default-pathname-defaults* was changed.
I don't see how not using *default-pathname-defaults*, after perhaps an initialization, you can have: (defvar asdf:*pathname-defaults* (truename *default-pathname-defaults*)) would break unix users expectations. When I want to load an asd file from some directory, be it the current directory, I push it onto asdf:*central-registry*, I don't mess with *default-pathname-defaults*.