From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29327 invoked by alias); 10 Dec 2012 16:09:56 -0000 Received: (qmail 29300 invoked by uid 22791); 10 Dec 2012 16:09:53 -0000 X-SWARE-Spam-Status: No, hits=-1.7 required=5.0 tests=AWL,BAYES_00,KHOP_THREADED,MSGID_MULTIPLE_AT,TW_DB X-Spam-Check-By: sourceware.org Received: from mailhost.u-strasbg.fr (HELO mailhost.u-strasbg.fr) (130.79.200.152) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 10 Dec 2012 16:09:42 +0000 Received: from md14.u-strasbg.fr (md14.u-strasbg.fr [130.79.200.249]) by mailhost.u-strasbg.fr (8.14.3/jtpda-5.5pre1) with ESMTP id qBAG9bTM093241 ; Mon, 10 Dec 2012 17:09:37 +0100 (CET) (envelope-from pierre.muller@ics-cnrs.unistra.fr) Received: from mailserver.u-strasbg.fr (ms16.u-strasbg.fr [130.79.204.116]) by md14.u-strasbg.fr (8.14.3/jtpda-5.5pre1) with ESMTP id qBAG9ac1019881 ; Mon, 10 Dec 2012 17:09:37 +0100 Received: from E6510Muller (gw-ics.u-strasbg.fr [130.79.210.225]) (user=mullerp mech=LOGIN) by mailserver.u-strasbg.fr (8.14.3/jtpda-5.5pre1) with ESMTP id qBAG9avp018350 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO) ; Mon, 10 Dec 2012 17:09:36 +0100 (envelope-from pierre.muller@ics-cnrs.unistra.fr) From: "Pierre Muller" To: "'Jerome Guitton'" Cc: References: <83y5hjt8ll.fsf@gnu.org> <20121130153401.GH2768@adacore.com> <83wqx3t6r9.fsf@gnu.org> <20121130162852.GD32262@adacore.com> <50B902D0.6060809@redhat.com> <20121203113147.GB12055@adacore.com> <20121209235344.GA12152@ednor.casa.cgf.cx> <20121210105115.GB15147@adacore.com> <20121210110128.GA12570@calimero.vinschen.de> <20121210134935.GL31477@adacore.com> <20121210153510.GB17188@adacore.com> In-Reply-To: <20121210153510.GB17188@adacore.com> Subject: RE: [RFA/mingw32] environment variables are case-insensitive on win32 Date: Mon, 10 Dec 2012 16:09:00 -0000 Message-ID: <002401cdd6f0$c0b317b0$42194710$@muller@ics-cnrs.unistra.fr> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2012-12/txt/msg00246.txt.bz2 I am not sure, but I have the impression that the case_preserving environment of Windows OS is more a shell issue than an OS issue. The current implementation of native windows compiled with mingw32 seems to be perfectly able to pass several different environment variables having the same uppercase name, see below: E:\pas\trunk\fpcsrc\rtl>gdbpurepython gdbpurepython Python Exception No module named gdb: warning: Could not load the Python gdb module from `e:\mingw\share\gdb/python'. warning: Limited Python support is available from the _gdb module. GNU gdb (GDB) 7.5.50.20121210-cvs Copyright (C) 2012 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "mingw32". For bug reporting instructions, please see: ... Reading symbols from e:\pas\fpc-2.6.0\bin\i386-Win32\gdbpurepython.exe...done. (gdb) set Test1=3DMixed No symbol "Test1" in current context. (gdb) set env Test1=3DMixed (gdb) set env test1=3Dlower (gdb) set env TEST1=3DUPPER (gdb) set prompt top> top> r Starting program: e:\pas\fpc-2.6.0\bin\i386-Win32\gdbpurepython.exe ... Some output suppressed (gdb) [New Thread 5920.0xb04] [New Thread 5920.0x1588] show env ALLUSERSPROFILE=3DC:\ProgramData ... More output suppressed PROMPT=3D$P$G PSModulePath=3DC:\Windows\system32\WindowsPowerShell\v1.0\Modules\ PUBLIC=3DC:\Users\Public RoxioCentral=3DC:\Program Files (x86)\Common Files\Roxio Shared\10.0\Roxio Central36\ SESSIONNAME=3DConsole SystemDrive=3DC: SystemRoot=3DC:\Windows TEMP=3DC:\Users\Pierre\AppData\Local\Temp test1=3Dlower Test1=3DMixed TEST1=3DUPPER ... More output suppressed All three versions are passed successfully to child, so I don't really understand why we want to remove that possibility of passing different case versions of the same uppercase'd name. It's only if I use set Test1=3DMixed set TEST1=3DUPPER and=20 set on the windows console that I do get only a unique line Test1=3DUPPER So that seems to me to be a feature of cmd.exe (or command.com) more than from the Windows API... Pierre Muller GDB pascal language maintainer > -----Message d'origine----- > De=A0: gdb-patches-owner@sourceware.org [mailto:gdb-patches- > owner@sourceware.org] De la part de Jerome Guitton > Envoy=E9=A0: lundi 10 d=E9cembre 2012 16:35 > =C0=A0: Joel Brobecker > Cc=A0: gdb-patches@sourceware.org > Objet=A0: Re: [RFA/mingw32] environment variables are case-insensitive on > win32 >=20 > Joel Brobecker (brobecker@adacore.com): >=20 > > 1. Decide whether we want GDB to match environment variable names > > using case-sensitive or case-insensentive functions on cygwin. > > Right now, it's case-sensitive. FWIW, we are offering to change > > that behavior, and it seems more user-friencly at the moment, > > but either choice is fine with me. If no concensus can be reached > > on this, then we'll revert to the original behavior. > > > > 2. Commit Jerome's patch which implements the decision from (1), > > letting a more elaborate handling of environment variables > > as a followup patch for someone more involved in cygwin than > > we are. >=20 > At this point my feeling is that there is something to clarify for > Cygwin; the symptom being that the new test I submitted for > testenv.exp fails on this platform. But for the moment I'd be inclined > to let Cygwin's situation unchanged and let an expert handle it. The patch > that I would submit would fix mingw32 only. So I guess that would be (2). >=20 > The corresponding patch is in attachment. >=20 >=20 >=20