Re: [RFA/mingw32] environment variables are case-insensitive on win32

Eli Zaretskii
2012-12-10T16:09:34Z

> Date: Mon, 10 Dec 2012 16:57:52 +0100
> From: Corinna Vinschen <vinschen@redhat.com>
>
> On Dec 10 16:42, Jerome Guitton wrote:
> > Corinna Vinschen (vinschen@redhat.com):
> >
> > > Cygwin is not Windows. Cygwin is a UNIX-like system like Linux,
> > > Solaris, OpenBSD, etc. The question you should ask is this: Would
> > > you like to match environment variable names case-insensitive on Linux,
> > > Solaris, OpenBSD? If the answer is "no", the answer for Cygwin is "no",
> > > too.
> >
> > Something may be broken in Cygwin's GDB, or maybe my version of Cygwin
> > is too old, because environment variables that have the same names are
> > identified in the inferior:
> >
> > guitton@kerel ~
> > $ export TEST_GDB_V=1
> > guitton@kerel ~
> > $ export TEST_GDB_v=2
> >
> > guitton@kerel ~
> > $ env | grep TEST_GDB
> > TEST_GDB_V=1
> > TEST_GDB_v=2
> >
> > guitton@kerel ~
> > $ /bin/gdb ./gdb/testsuite/gdb.base/testenv.exe
> > [...]
> > (gdb) r
> > Starting program: /home/guitton/GIT/GDB/builds/obj.gdb-fsf.cygwin/gdb/testsuite/gdb.base/testenv.exe
> > [New thread 12692.0x16ac]
> > [New thread 12692.0x22b0]
> > TEST_GDB_V=2
> > Program found 1 variables starting with TEST_GDB
>
> Probably an old Cygwin version. Older versions of Cygwin did not
> honor the case of env vars, but rather converted them all to uppercase,
> but this is pre-2008!
>
> I don't have GDB test environment set up, but this works for me with the
> most recent Cygwin version 1.7.18:

If some versions of Cygwin are case-insensitive in this context, while
others aren't, then a run-time test of the kind coded by Jerome is
_exactly_ the Right Thing.