From: Ramsay Jones Date: Sat, 27 May 2017 01:20:40 GMT Subject: Re: [GSoC][PATCH v5 3/3] submodule: port subcommand foreach from shell to C Message-ID: <41781ba1-2284-cc5d-8736-bb87d580f5bf@ramsayjones.plus.com> In-Reply-To: <83801d05-e3a9-b7e4-8f29-cd8172257dac@kdbg.org> On 26/05/17 22:54, Johannes Sixt wrote: > Am 26.05.2017 um 17:17 schrieb Prathamesh Chavan: >> + argv_array_pushf(&cp.env_array, "path=%s", list_item->name); > > Not good! On Windows, environment variables are case insensitive. The environment variable "path" has a very special purpose, although it is generally spelled "PATH" (actually "Path" on Windows). > > Lowercase "path" may have worked as long as it was only used in a shell script (and perhaps only by lucky coincidence), but this I can pretty much guarantee to fail. (I haven't tested it, though.) > > The correct fix can only be to rename this variable here and in shell scripts that need the value that is set here. Yeah, I already pointed to commit 64394e3ae9 (but it seems not to have registered!), but ... I tried provoking a failure on cygwin, and I couldn't get it to fail! Since Johannes told me about Gfw fork of the msys-runtime, I didn't even attempt to try and provoke a failure on MSYS2/MinGW. So, maybe it's fixed (no I'm not convinced either) ... ATB, Ramsay Jones