Re: ASDF MCL or OpenMCL bug?

Christophe Rhodes <[email protected]>
Newsgroups gmane.lisp.cclan.general
Message-ID <[email protected]>
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)


-------------------------------------------------------
This sf.net email is sponsored by: OSDN - Tired of that same old
cell phone?  Get a new here for FREE!
https://www.inphonic.com/r.asp?r=sourceforge1&refcode1=vs3390
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.