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