On 12/23/10 Dec 23 -11:34 PM, Pascal J. Bourguignon wrote:
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*.
I don't have any arguments with what you say, Pascal, but I don't see it as the job of ASDF to keep the user from doing things which might (like counting on something about *default-pathname-defaults*), especially not at the cost of dictating to that user (if the user's lisp implementation lets him/her LOAD-SYSTEM a system that happens to be in the same working direction as the CWD of the lisp job, who am I to mess with this?).
This seems exceedingly low priority with respect to other use of scarce ASDF development hours. And even if it's trivial to implement, it needs testing and potentially messes people up. Adding code always has the potential to introduce bugs.
For this reason, any change to ASDF has a potentially high cost, especially since ASDF is close to the root of any lisp programmer's dependency tree. Unless a change is a clear /benefit/, I believe it should be rejected. I see no benefit here. We don't need ASDF:*pathname-defaults* --- you can already configure asdf's system search in at least two ways.
Best, r