[armedbear-devel] Spaces in pathnames (jar:file:/x/y/z/a space/...)
evenson at panix.com
Tue Jun 7 09:02:54 UTC 2011
On Jun 6, 2011, at 22:46 , Theam Yong Chew wrote:
> Sorry for the slow reply, I've been thinking about a good way to go
> about this problem. test.lisp is my initial attempt at exposing all
> possible space-in-path possibilities (probably not complete yet). It's
> also not very systematic yet, but for now, I'm trying to find out
> both cases that work and cases that don't.
> In the following, I'm trying to compare the differences between an
> older abcl and my single-line patched version. I'm sorry the test
> indices are not too informative, as this is just a rough first try,
> and I need to go to sleep soon (please double check test.lisp, I might
> have been sloppy too).
> Hope this is a good starting point? I believe this can later be folded
> into the unit tests?
Your tests certainly provide good starting point. Some of the
failures I get end from running a slightly modified version of
'test.lisp' end in restarts that only allow me to abort the thread,
so I don't currently get a clean version to compare to your results.
I will try to incorporate these tests into the ABCL RT test suite
over the next few days, and then look at a strategy for dealing
with the problems.
My general plan for addressing the "when do I need escaping?" is
to use the hitherto non-obvious feature that ABCL actually has two
subtypes of PATHNAME, URL-PATHNAME and JAR-PATHNAME:
CL-USER> (type-of #p"foo/bar") PATHNAME CL-USER> (type-of
#p"http://foo/bar") URL-PATHNAME CL-USER> (type-of
The rule should be that both URL-PATHNAME and JAR-PATHNAME would
have URI escaped components on creation. I think we just need to
have the various escaping/unescaping snippets internal to PATHNAME
be mindful of this distinction.
"A screaming comes across the sky. It has happened before, but there is nothing to compare to it now."
More information about the armedbear-devel