On 1/25/10 Jan 25 -4:46 PM, Sam Steingold wrote:
Daniel Herring wrote:
Thanks for the ideas. Poking around a bit further, it appears that in the following snippet from output-files-using-mappings (*centralize-lisp-binaries* is false), (pathname-directory path) is nil.
(make-pathname :type (pathname-type path) :directory (append (pathname-directory path) (implementation-specific-directory-name)) :defaults path)))))
Thus clisp is seeing ":directory (clisp)" without a leading :relative or :absolute. I don't know the cause and am focused on other issues right now (this one has a couple workarounds: use ccl or an older asdf).
I think the code should be
(merge-pathnames (make-pathname :directory (cons :relative (implementation-specific-directory-name))) path)
(your code above seems to assume that (implementation-specific-directory-name) returns a list)
also, if path could be relative, you will need to bind *MERGE-PATHNAMES-ANSI* to T around this call.
Is that really right? Seems like (pathname-directory path) here should NEVER return NIL, and that's what the bug is.... best, Robert