On Wed, Feb 3, 2010 at 2:03 PM, Mark Evenson evenson@panix.com wrote:
On 2/3/10 7:32 PM, Alan Ruttenberg wrote:
2010/2/3 Mark Evensonevenson@panix.com:
On 2/3/10 6:38 PM, Alan Ruttenberg wrote: […]
First off, is the example I gave in this thread. (TRANSLATE-PATHNAME #P"IDO:IMMUNOLOGY;" #P"IDO:IMMUNOLOGY;**;*.*"
#P"/Users/alanr/repos/infectious-disease-ontology/trunk/src/ontology/**/*.*")
This succeeds in SBCL and throws an error (regressing) in ABCL. So that part is an issue no matter what.
I don't get that, I see the following:
dada:~/work/abcl$ sbcl This is SBCL 1.0.33, an implementation of ANSI Common Lisp. More information about SBCL is available athttp://www.sbcl.org/.
SBCL is free software, provided as is, with absolutely no warranty. It is mostly in the public domain; some portions are provided under BSD-style licenses. See the CREDITS and COPYING files in the distribution for more information.
- (setf (logical-pathname-translations "ido") '(("IDO:IMMUNOLOGY;**;*.*"
"/Users/alanr/repos/infectious-disease-ontology/trunk/src/ontology/immunology/**/*.*")))
This part is unnecessary. The call to translate-pathname below doesn't use it.
Now I'm real confused, because without telling the Lisp that "IDO:" is a logical hostname prefix I get:
dada:~/work/abcl$ sbcl This is SBCL 1.0.33, an implementation of ANSI Common Lisp. More information about SBCL is available at http://www.sbcl.org/.
SBCL is free software, provided as is, with absolutely no warranty. It is mostly in the public domain; some portions are provided under BSD-style licenses. See the CREDITS and COPYING files in the distribution for more information.
- (TRANSLATE-PATHNAME #P"IDO:IMMUNOLOGY;" #P"IDO:IMMUNOLOGY;**;*.*"
#P"/Users/alanr/repos/infectious-disease-ontology/trunk/src/ontology/**/*.*")
#P"/Users/alanr/repos/infectious-disease-ontology/trunk/src/ontology/IDO:IMMUNOLOGY;"
Which is definitely not what you want, right? Or do you have this translations defined in initialization files (i.e. "~/.sbclrc")?
Erg. That was wrong - meant to edit it out. Sorry.
With the IDO logical pathname host defined with the SETF on LOGICAL-PATHNAME-TRANSLATIONS, I thought you wanted this behavior:
(translate-pathname #P"IDO:IMMUNOLOGY;" #P"IDO:IMMUNOLOGY;**;*.*"
#P"/Users/alanr/repos/infectious-disease-ontology/trunk/src/ontology/**/*.*") #P"/users/alanr/repos/infectious-disease-ontology/trunk/src/ontology/immunology/"
which is what I observe pre-r12283 ABCL doing.
pre-r12283 ABCL was buggy in a different way. My best understanding is that the behavior observed in sbcl and my patched abcl is correct.
-Alan