Issue with run.exe and PWD with spaces since last update (Cygwin 1.7.21)

Corinna Vinschen
Wed Jul 17 13:36:00 GMT 2013

On Jul 16 20:29, Andrey Repin wrote:
> Greetings, All!
> I'm trying to execute a script that was working fine until recent update.
> It doesn't crash, just, for some reason, trim the last component of a path.
> In a nutshell, the issue is this:
> $ mkdir "/a b"
> $ cd "/a b"
> $ ls -l "$SYSTEMROOT/System32/notepad.exe"
> (just to confirm that the file actually exists)
> $ run "$SYSTEMROOT/System32/notepad.exe"
> Error pops up:

This never works, even in any other directory.  It's the same problem
which disallows checkX to work, as reported in

The cause is an optimization when calling cygwin executables.  So far,
Cygwin executables got their arguments via mmeory copy as well as via
the single-line cmdline argument of CreateProcess.  We removed the
latter since it was never meant to work that way in the first place.

Unfortunately it turns out that run/run2/checkX are Cygwin executables
which don't have a main routine, but rather a WinMain routine.  The
latter has a single cmdline argument, which is generated via
GetCommandLine().  But since Cygwin executables get no single-line
command line anymore, this stopped working.

Stay tuned,

Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

Problem reports:
Unsubscribe info:

More information about the Cygwin mailing list