<div>There are several places where ASDF relies on *DEFAULT-PATHNAME-DEFAULTS* to provide a default path. The value of this variable is "An implementation-dependent pathname, typically in the working directory that was current when Common Lisp was started up." [ <a href="http://www.lispworks.com/documentation/HyperSpec/Body/v_defaul.htm">http://www.lispworks.com/documentation/HyperSpec/Body/v_defaul.htm</a> ] I think it would be better to define a variable, like asdf:*pathname-defaults*, asdf:*registry-pathname-defaults, etc., that is explicitly set using feature expressions. The biggest argument for not making this change is that some systems may rely on the value of *DEFAULT-PATHNAME-DEFAULTS*. I don't think it would be too difficult to correct those systems, but admit that it might not be worth the effort.</div>
<div><br></div><div>My motivation for making this change was prompted by the function default-source-registry. It creates a :directory entry in the source registry that is constructed from the TRUENAME of the value returned by *DEFAULT-PATHNAME-DEFAULTS*. The first point is that the value *DEFAULT-PATHNAME-DEFAULTS* is implementation dependent. For the cases I tested using CCL 1.6 and LispWorks 6.0.1 on Windows 7, the value is the empty path #P"". The second point is that the pathname returned by TRUENAME when it is given the empty path is implementation dependent. In the case of CCL, (TRUENAME #P"") returns the working directory that was current when Common Lisp was executed. In the case of LispWorks, (TRUENAME #P"") returns #P"C:/Windows/system32/". This may be the working directory that was current when LispWorks was started, but it is clearly not a desirable place for ASDF systems. In either case, the result is a :directory entry in the source registry that is not well defined. I think it is better to have the default pathname well defined.</div>
<div><br></div><div>Thank you,</div><div><br></div><div>~ Tom</div><div>----------------------------------------------------------------<br>Thomas M. Hermann<br>Odonata Research LLC<br><a href="http://www.odonata-research.com/">http://www.odonata-research.com/</a><br>
<a href="http://www.linkedin.com/in/thomasmhermann">http://www.linkedin.com/in/thomasmhermann</a><br>
</div>