[asdf-devel] ASDF2: Bug in merge-pathnames*

Faré fahree at gmail.com
Tue May 18 15:08:15 UTC 2010


It's hopefully fixed in 1.725, except that somehow in the commit
message, I wrote pjb where I should have written jcb. Oops.

My "solution" to the "current-directory" thing was to rename it to
"default-directory".

[ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ]
You think you know when you can learn, are more sure when you can write,
even more when you can teach, but certain when you can program.
        — Alan Perlis




On 18 May 2010 06:32, Jean-Claude Beaudoin
<jean.claude.beaudoin at gmail.com> wrote:
>
> Here is a patch against 1.720 that fixes a weakness in merge-pathnames*.
> This was a show stopper in my system.
>
> It seems that merge-pathnames* assumes that *default-pathname-defaults*
> has some interesting value to contribute which is not always the case.
> In my system and in a few others (clisp comes to mind) the usual value
> of *default-pathname-defaults* is #P"" which ends up giving
>
> (pathname-directory *default-pathname-defaults*) => nil
>
> Then, (append nil (cdr directory)) is probably not a "valid pathname directory".
> In clisp passing this not so "valid pathname directory" to make-pathname will
> result in a visit in the debugger...
>
> I want also to insist again on the issue of accessing the process current directory.
> Assuming that *default-pathname-defaults* is a substitute for the process current
> directory is not portable ANSI Common Lisp code. The following definition is very
> likely to be wrong on at least one ANSI Common Lisp conforming implementation:
>
> (defun current-directory ()
>   (truenamize (pathname-directory-pathname *default-pathname-defaults*)))
>
>
> Cheers,
>
> Jean-Claude Beaudoin




More information about the asdf-devel mailing list