<div dir="ltr"><div>Ran into CCL (but not SBCL) choking on filenames that contain colons (it interprets them as logical hosts, regardless of the fact they're not recognized ones -- and in contravention of the CLHS?). </div>
<div><br></div><div>Seems like the divergence in behavior between CCL and SBCL is in merge-pathnames - below the level of osicat.</div><div><br></div><div>My perhaps naive and overly simplistic expectation of behavior is that of SBCL (not choking, arguably closer adherence to CLHS).</div>
<div><br></div><div>[jm@jm7 ~]$ lx86cl64 <br>Welcome to Clozure Common Lisp Version 1.9-r15870 (LinuxX8664)!<br>? (merge-pathnames "foo:bar" #P"" :newest)<br>> Error: "foo" is not a defined logical host<br>
> While executing: CCL::PATHNAME-HOST-SSTR, in process listener(1).<br>> Type :POP to abort, :R for a list of available restarts.<br>> Type :? for other options.<br>1 > (apropos "host-translations") <br>
CCL::%LOGICAL-HOST-TRANSLATIONS%, Value: (("ccl" (#P"ccl:l1;**;*.*" #P"ccl:level-1;**;*.*") (#P"ccl:l1f;**;*.*" #P"ccl:l1-fasls;**;*.*") (#P"ccl:ccl;*.*" #P"/opt/ccl/*.*") (#P"ccl:**;*.*" #P"/opt/ccl/**/*.*")) ("home" (#P"home:**;*.*" #P"/home/jm/**/*.*"))) <br>
</div><div><br></div><div>Found this when rehabbing the ancient CLIM "indented-lists" tree widget, replacing the buggy (in CCL again) pathname hackery therein with osicat (which cleaned up the code). Turns out dbus/dcop create these files/symlinks in one's home directory, so it's not like I went looking for corner cases... If possible, I would of course prefer to be able to rely on osicat or the like to insulate me from system or implementation-dependent behavior. Does anybody have any guidance?</div>
<div><br></div><div>Thanks in advance.</div><div><br></div><div>-jm</div><div><br></div></div>