Subject: RE: Case sensitivity in filenames
From: [email-masked] (Moore, Paul)

5 Jan 1999 16:37:08 -0800
Message-ID: <c=UK%a=_%p=Origin-it%l=[email-masked]>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
To: "'Geoffrey Noer'" <[email-masked]>
Cc: "'Larry Hall'" <[email-masked]>, "'Gnu Win32'" <[email-masked]>

>From: 	Geoffrey Noer[SMTP:[email-masked]]
>
>On Mon, Jan 04, 1999 at 02:34:25PM -0000, Moore, Paul wrote:
>[...]
>> Unfortunately, I'm not willing to limit myself to bash...
>> 
>> Paul.
>
>Could you explain at greater length what you want Cygwin to do
>w.r.t. case insensitivity?

Put simply, I want to have available to me, under any/all command shells
(including cmd.exe/command.com), a set of Unix-like utilities
(fileutils, textutils, diffutils, findutils, ...) which treat Win32
pathnames "correctly" (ie, as Win32 programs do - using backslashes for
filenames, case insensitive but case preserving, etc etc). This is what
DJGPP does (and I have happily used djgpp for a long time now) but as
the djgpp utiluties are (extended) DOS programs, they interact badly
with some 32-bit programs on Windows 95, and I understand that they
cannot handle long filenames under NTFS on Windows NT.

>Do you want the Cygwin emulation layer to treat all path strings in a
>case-insensitive manner? It already does this to a large extent -- if
>you do an action on filename "foo" that causes Cygwin to call
>ReadFile, ReadFile will take "foo" and read "Foo" if that's the case
>for that file.

Ultimately I'm not interested in the emulation layer. I'm interested in
the tools built on it, and their user interface. The documentation for
Cygwin talks about "What Unix users can expect" and "What Windows users
can expect". I fall into the latter category, very firmly. I'm not after
Unix compatibility - I'm just after the tools and their functionality.

>But I don't think you could change the Cygwin library in such a way
>that arbitrary Unix programs using Cygwin would treat filenames in a
>case-insensitive manner.  For example, I don't think a Cygwin
>modification could allow you to just build bash without any special
>modifications to bash and get case-insensitive filename completion
>out of readline.

No. The tools themselves probably need some level of change. That, I
assume, is what the DJGPP project did. If so, didn't that work feed back
into the main sources? If it didn't, maybe the cygwin project could pick
it up independently.

>It probably would be appropriate for filename completion to
>autocorrect case changes in programs that use readline under Cygwin.
>That probably wouldn't be too hard to do.

To be honest, I don't care about completion at all.

>Any comments?  Are you arguing for Cygwin being case preserving but
>case insensitive?  More, less?

I'm talking about the tools' user interface (and I want case preserving
but case insensitive, as you say). The cygwin DLL is an implementation
detail.

As I say, my model is DJGPP for DOS.

Hope this helps,
Paul.

(PS Some of the tools can be compiled reasonably simply as native Win32
code using MS Visual C - maybe I just give up on using existing work and
re-port the remaining ones to native Win32...).
-
For help on using this list (especially unsubscribing), send a message to
"[email-masked]" with one line of text: "help".