http://bugs.winehq.org/show_bug.cgi?id=26749
Summary: in cmd, PATH=FOO should set PATH to FOO Product: Wine Version: 1.3.17 Platform: x86 OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: programs AssignedTo: wine-bugs@winehq.org ReportedBy: dank@kegel.com
This affects the "C:\Program Files\Mono-2.10.1\bin\setmonopath.bat" batch file bundled with Mono.
To repeat, do echo path=foo > foo.bat echo path >> foo.bat then run wine cmd /c foo.bat
expected output: PATH=foo
Observed output: PATH=C:\PROG~FBU\MONO~KUH.1\bin;C:\windows\system32;C:\windows;C:\windows\system32\wbem
http://bugs.winehq.org/show_bug.cgi?id=26749
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|programs |cmd
--- Comment #1 from Dan Kegel dank@kegel.com 2011-05-04 19:04:05 CDT --- Changing component to be more specific.
http://bugs.winehq.org/show_bug.cgi?id=26749
--- Comment #2 from Paul Romanyszyn pgr@arcelectronicsinc.com 2011-05-04 21:59:01 CDT --- Years ago I had to add set in front of the path=.... to set the path in wine. Changing the line to echo set path=foo > foo.bat
makes it work. Not a solution just more info.
http://bugs.winehq.org/show_bug.cgi?id=26749
Frédéric Delanoy frederic.delanoy@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |frederic.delanoy@gmail.com
--- Comment #3 from Frédéric Delanoy frederic.delanoy@gmail.com 2011-07-20 14:10:06 CDT --- (In reply to comment #0)
This affects the "C:\Program Files\Mono-2.10.1\bin\setmonopath.bat" batch file bundled with Mono.
To repeat, do echo path=foo > foo.bat echo path >> foo.bat then run wine cmd /c foo.bat
expected output: PATH=foo
Observed output: PATH=C:\PROG~FBU\MONO~KUH.1\bin;C:\windows\system32;C:\windows;C:\windows\system32\wbem
Tried (with @echo off added as first line of foo.bat) Oddly enough typing "path" after cmd /c foo.bat prints the original path (c:\winnt...)
It's as if there's an implicit setlocal done. Or, more likely, the original path is restored for security reasons.
http://bugs.winehq.org/show_bug.cgi?id=26749
--- Comment #4 from Dan Kegel dank@kegel.com 2011-10-28 13:36:10 CDT --- *** Bug 28920 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=26749
--- Comment #5 from Dan Kegel dank@kegel.com 2011-10-28 13:39:51 CDT --- Hang on, I think my minimal test case may have been too minimal. Try this one on for size:
file c:\dummy dir\foo.bat: PATH %PATH%;c:\podunk
file bar.bat: call c:\dummy dir\foo.bat echo back in bar PATH
cmd /c bar.bat
Expected output: path with podunk on end Observed output: path without podunk on end
Now repeat, but with an underscore instead of a space in the name "dummy dir". This time it works! That's really strange.
http://bugs.winehq.org/show_bug.cgi?id=26749
--- Comment #6 from Dan Kegel dank@kegel.com 2011-10-28 13:42:06 CDT --- Workaround: quote the path, e.g.
call "c:\dummy dir\foo.bat"
Either way, foo.bat gets run, but with the unquoted spaces in the path leading to it, the environment isn't shared with the parent cmd?
http://bugs.winehq.org/show_bug.cgi?id=26749
--- Comment #7 from Dan Kegel dank@kegel.com 2011-10-28 13:58:15 CDT --- Sorry, I guess this isn't a dup. Moving the spaces problem back to bug 28920.
http://bugs.winehq.org/show_bug.cgi?id=26749
Jason Edmeades us@edmeades.me.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |us@edmeades.me.uk
--- Comment #8 from Jason Edmeades us@edmeades.me.uk 2012-09-03 18:20:05 CDT --- So keeping this bug report to the issue reported in the first report.
The problem here is that path=fred isnt handled at all, although the code tries to. The code identifies PATH and parses the '=fred' (in wcmd_parse) into param1="" and param2="fred" (as the '=' acts as a delimiter). In the 'WCMD_setshow_path' routine, if it finds param1 is null, so assumes 'path' has just been issued alone, so echos the path to the screen.
I think the '=' being treated as a delimiter is reasonably new (from memory, could be wrong), but a very simple patch here is to only assume theres no parms if param1 and param2 are both empty, and then the code 'just works' as it was already coded to handle this syntax.
I've got a test patch, will tidy up and submit ideally tomorrow, but the above documents the issue/solution otherwise.
http://bugs.winehq.org/show_bug.cgi?id=26749
--- Comment #9 from Jason Edmeades us@edmeades.me.uk 2012-09-04 17:50:08 CDT --- http://www.winehq.org/pipermail/wine-patches/2012-September/117512.html
http://bugs.winehq.org/show_bug.cgi?id=26749
Jason Edmeades us@edmeades.me.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #10 from Jason Edmeades us@edmeades.me.uk 2012-09-05 15:40:25 CDT --- http://www.winehq.org/pipermail/wine-cvs/2012-September/089841.html
http://bugs.winehq.org/show_bug.cgi?id=26749
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |4f71f4af59b8989b2288800a7b3 | |37f61475df505
http://bugs.winehq.org/show_bug.cgi?id=26749
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #11 from Alexandre Julliard julliard@winehq.org 2012-09-14 13:35:53 CDT --- Closing bugs fixed in 1.5.13.
https://bugs.winehq.org/show_bug.cgi?id=26749
Stan markau0@lycos.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |markau0@lycos.com