[Openmcl-devel] Re: [cclan-list] ASDF MCL or OpenMCL bug?
John DeSoi
desoi at icx.net
Fri Aug 30 11:23:29 PDT 2002
Thanks, Christophe.
I'm also posting this to openmcl-dev to see if Gary might have some
insight. I share your confusion about logical pathnames.
Best,
John DeSoi, Ph.D.
On Fri, Aug 30, 2002 at 12:34:18PM -0400, John DeSoi wrote:
> Under OpenMCL I'm getting a bad path returned from component-pathname
> which merges the following:
>
>
> component-parent-pathname - uffi:src;
>
> component-relative-pathname - uffi:package.lisp
>
>
> Under MCL the same code gives:
>
>
> component-parent-pathname - uffi:src;
>
> component-relative-pathname - package.lisp
Hmm. OpenMCL's misbehaviour probably isn't in the fact that it's
returned a pathname with a host, but rather that it has put (:ABSOLUTE)
in the directory slot. I wonder why...
> The issue comes from make-pathname here:
>
> (defmethod component-relative-pathname ((component source-file))
> (let ((*default-pathname-defaults* (component-parent-pathname component)))
> (or (slot-value component 'relative-pathname)
> (make-pathname :name (component-name component)
> :type
> (source-file-type component
> (component-system component))))))
>
>
> I had no problems with MCL, ACL, or LispWorks, but it seems that
> OpenMCL might be doing the correct thing according to the specs:
>
> defaults---a pathname designator. The default is a pathname whose
> host component is the same as the host component of the value of
> *default-pathname-defaults*, and whose other components are all nil.
I would expect this make-pathname command to return something such that
when merged against COMPONENT-PARENT-PATHNAME would give you back the
pathname. OpenMCL breaks that expectation by giving us an '(:ABSOLUTE)
pathname back. At first sight, I'd say that this was a bug in OpenMCL,
but to be honest at times I'm so utterly confused by logical pathnames
that I could be getting this wrong.
Cheers,
Christophe
? (let ((*default-pathname-defaults* #p"CCL:FOO;")) (make-pathname
:name "BAR"))
#4P"CCL:BAR"
? (inspect *)
[0] #4P"CCL:BAR"
[1] Type: LOGICAL-PATHNAME
[2] Class: #<BUILT-IN-CLASS LOGICAL-PATHNAME>
[3] 0: LOGICAL-PATHNAME
[4] 1: (:ABSOLUTE)
[5] 2: "BAR"
[6] 3: NIL
[7] 4: "CCL"
[8] 5: NIL
--
Jesus College, Cambridge, CB5 8BL +44 1223 510 299
http://www-jcsu.jesus.cam.ac.uk/~csr21/ (defun pling-dollar
(str schar arg) (first (last +))) (make-dispatch-macro-character #\! t)
(set-dispatch-macro-character #\! #\$ #'pling-dollar)
_______________________________________________
Openmcl-devel mailing list
Openmcl-devel at clozure.com
http://clozure.com/cgi-bin/mailman/listinfo/openmcl-devel
More information about the Openmcl-devel
mailing list