Win32: DIRECTORY case sensitive
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SBCL |
Triaged
|
Medium
|
Unassigned |
Bug Description
MS Windows uses case insensitive file names. PROBE-FILE and DELETE-FILE in
SBCL Win32 are case insensitive, as we expect; but, DIRECTORY is case
sensitive sometimes. The following example demonstrates the problem.
Directory d:/test/ has 2 files: AA.C01 and AA.PNG
(directory #P"d:/test/AA.*") => (#P"d:\
(directory #P"d:/test/aa.*") => NIL
(directory #P"d:/test/A*.*") => (#P"d:\
(directory #P"d:/test/a*.*") => NIL
For SBCL Win32, substituting EQUALP for the only EQUAL in MAKE-MATCHER
in sbcl/src/
PATTERN-MATCHES in sbcl/src/
case insensitive:
(directory #P"d:/test/aa.*") => (#P"d:\
(directory #P"d:/test/a*.*") => (#P"d:\
This is SBCL 1.0.33.4 for Win32.
Output from name -a:
MINGW32_NT-5.1 SQUID 1.0.10(0.46/3/2) 2004-03-15 07:17 i686 unknown
*FEATURES*:
(:ASDF :ANSI-CL :COMMON-LISP :SBCL :SB-DOC :SB-TEST :SB-LDB :SB-PACKAGE-LOCKS
:SB-UNICODE :SB-EVAL :SB-SOURCE-
:GENCGC :STACK-
:COMPARE-
:STACK-
:STACK-
:CYCLE-COUNTER :INLINE-CONSTANTS :LINKAGE-TABLE :OS-PROVIDES-DLOPEN
:OS-PROVIDES-
Thanks.
-cph
Unless I'm terribly mistaken NTFS volumes are case-sensitive even on Windows. So unless DIRECTORY on Windows has a separate keyword to control case-sensitivity, the default will by necessity be sometimes wrong?
What do Lispworks and Allegro do?