Gareth McCaughan <[EMAIL PROTECTED]> writes:

> I'd also been thinking that #p"foo.lisp" is (an external
> representation of) a pathname that leaves only the name
> and type (and maybe version) fields specified; but no,
> somehow CMU CL deduces what host that file is supposed
> to live on, and the only way to leave it unspecific is to
> call MAKE-PATHNAME explicitly. (Is there some reason
> why the specified behaviour is better than what I wrongly
> expected, by the way?)

This is Correct According to KMP (and I agree with you that it defies
common expectations, but there you go)

http://groups.google.co.uk/groups?q=make-pathname+host+pitman&start=10&hl=en&lr=&selm=sfwn18apygp.fsf%40world.std.com&rnum=12

"You get the host merged in because the Lisp Machine did it that way."

>>         (merge-pathnames (make-pathname :host nil :name "foo" :type "lisp")
>>            #p"cl-library:zog;")
>>
>>         => #P"CL-LIBRARY:ZOG;FOO.LISP"
>>
>> But asdf doesn't do that, I think.

asdf does (at least, should) cope perfectly fine with LPNs (with a
couple of caveats regarding case translation). It just doesn't require
them if you don't want to use them - on unix you can symlink the .asd
files into somewhere in *central-registry* and it'll follow the links
to find the code without need for :pathname options in system
definitions.


-dan


Reply via email to