Mixed case inconsistency in TRANSLATE-LOGICAL-PATHNAMES
Jonathan Boca reports
As the following code and transcript demonstrate,
translate-logical-pathname appears to be downcasing paths
inconsistently:
;;; test.cl
(setf (logical-pathname-translations "foo")
'(("foo:bar;*.lisp" "/FooRoot/bar/*.lisp")
("foo:*.lisp" "/FooRoot/*.lisp")))
;;; In the following pathname translation, the entire path is downcased
(pprint (translate-logical-pathname "foo:bar;foobar.lisp"))
;;; In each of the next two, the entire path EXCEPT for the host is
downcased --
;;; the host is unchanged
(pprint (translate-logical-pathname "foo:foobar.lisp"))
(pprint (translate-logical-pathname "foo:Foobar.lisp"))
---
Armed Bear Common Lisp 0.24.0
Java 1.6.0_22 Apple Inc.
Java HotSpot(TM) Client VM
Low-level initialization completed in 0.478 seconds.
Startup completed in 1.386 seconds.
Type ":help" for a list of available commands.
CL-USER(1): (load "test.cl")
#P"/fooroot/bar/foobar.lisp"
#P"/FooRoot/foobar.lisp"
#P"/FooRoot/foobar.lisp"
T
CL-USER(2):
---
SBCL and CLISP both produce the following output for the above code:
#P"/FooRoot/bar/foobar.lisp"
#P"/FooRoot/foobar.lisp"
#P"/FooRoot/foobar.lisp"
Allegro's ALISP and MLISP both produce the following:
#P"/FooRoot/bar/foobar.lisp"
#P"/FooRoot/foobar.lisp"
#P"/FooRoot/Foobar.lisp"
Change History (27)
Keywords: |
needs_test conformance added
|
Milestone: |
0.26 →
0.27
|
Priority: |
major →
minor
|
Owner: |
changed from ehuelsmann to Mark Evenson
|
Status: |
new →
assigned
|
Keywords: |
needs-test ansi-conformance added; needs_test conformance removed
|
Keywords: |
has-test added; needs-test removed
|
Probably from same cause as #132.