[asdf-devel] Replace *DEFAULT-PATHNAME-DEFAULTS*

Robert Goldman rpgoldman at sift.info
Fri Dec 24 15:10:42 UTC 2010


On 12/23/10 Dec 23 -11:34 PM, Pascal J. Bourguignon wrote:
> Robert Goldman <rpgoldman at 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





More information about the asdf-devel mailing list