[Openmcl-devel] Fwd: [Bug 636506] Re: (truename #P"ccl:") fails when *default-pathname-defaults* is not empty
Ron Garret
ron at flownet.com
Sun Sep 12 22:39:59 PDT 2010
On Sep 12, 2010, at 7:21 PM, Gary Byers wrote:
>
>
> On Sun, 12 Sep 2010, Ron Garret wrote:
>> From: Faré <636506 at bugs.launchpad.net>
>> Date: September 12, 2010 12:54:41 PM PDT
>> To: ron at flownet.com
>> Subject: [Bug 636506] Re: (truename #P"ccl:") fails when *default-pathname-defaults* is not empty
>> Reply-To: Bug 636506 <636506 at bugs.launchpad.net>
>> Ouch. Committed 2.129 as a fix. I hope I won't be the one to release
>> 2.009, though. I don't know what CCL does, but it's probably a CCL bug,
>> too.
>>
>
> I think that the bug is that (PATHNAME-DIRECTORY "ccl:") returns NIL
> (rather than (:ABSOLUTE)), and this in turn leads to the unfortunate
> MERGE-PATHNAMES result. The bug's in the namestring parsing code,
> so another workaround would be
>
> (truename (make-pathname :defaults #p"ccl:"))
>
I think this may be the problem:
(defun pathname-directory-sstr (sstr start end host)
(if (and (eq host :unspecific)
(> end start)
(eql (schar sstr start) #\~))
(setq sstr (tilde-expand (subseq sstr start end))
start 0
end (length sstr)))
(let ((pos (%path-mem-last (if (eq host :unspecific) "/" ";") sstr start end)))
(if pos
(values
(%directory-string-list sstr start (setq pos (%i+ pos 1)) host)
pos)
(values (and (neq host :unspecific)
=======> (neq start end)
'(:absolute))
start))))
Commenting out the indicated line seems to fix the problem, though I have not tested it thoroughly.
rg
More information about the Openmcl-devel
mailing list