>>>>> "Gareth" == Gareth McCaughan <[EMAIL PROTECTED]> writes:
Gareth> Hmm.
Gareth> * (describe (make-pathname :host nil :name "libsleepycat" :type
Gareth> "so"))
Gareth> #p"libsleepycat.so" is a structure of type PATHNAME.
Gareth> HOST: #<LISP::UNIX-HOST>.
Gareth> DEVICE: NIL.
Gareth> DIRECTORY: NIL.
Gareth> NAME: "libsleepycat".
Gareth> TYPE: "so".
Gareth> VERSION: NIL.
Oops. That was something that was changed in after 19a. Previously,
if :host were not given or given as nil, the host from
*default-pathname-defaults* was used. It was changed so explicitly
giving :host nil would produce an empty host slot so you could merge
the host from another pathname.
Gareth> * (merge-pathnames
Gareth> (make-pathname :host :unspecific :name "libsleepycat"
:type
Gareth> "so")
Gareth> ;#p"libsleepycat.so"
Gareth> (asdf:component-pathname (asdf:find-system 'elephant)))
Gareth> Type-error in KERNEL::OBJECT-NOT-TYPE-ERROR-HANDLER:
Gareth> :UNSPECIFIC is not of type (OR BASE-STRING LISP::HOST NULL)
Gareth> [Condition of type TYPE-ERROR]
There are some restrictions on use :unspecific as the value of a
pathname component and it's implementation-defined if :unspecific is
valid. (See CLHS 19.2.2.2.3.) I guess CMUCL's make-pathname doesn't
like :unspecific hosts.
Gareth> Yay. Oh, but for some reason UFFI doesn't like that.
Gareth> It doesn't like #p"cl-library:elephant;libsleepycat.so" either,
Gareth> though. So:
Gareth> (probe-file (make-pathname :name "libsleepycat" :type
"so"
Gareth> :defaults
(asdf:component-pathname
Gareth> (asdf:find-system 'elephant))))
Wouldn't translate-logical-pathname also work here? Unless you really
wanted to know if the file existed.
Ray