Subject: bug#15933: make check not working

From: Eli Zaretskii <[email-masked]>
Date: Wed, 20 Nov 2013 23:38:35 +0200

> From: Glenn Morris <[email-masked]>
> Cc: [email-masked],  [email-masked]
> Date: Wed, 20 Nov 2013 14:14:29 -0500
> 
> Glenn Morris wrote:
> 
> > Eli Zaretskii wrote:
> >
> >> since the MSYS Bash will automatically convert ':' into ';'.)
> >
> > Amazingly, not something I was aware of.
> 
> I mean, how does that even work?

When MSYS invokes a native Windows program (as opposed to an MSYS
program), it converts : into ; in PATH and similar environment
variables, and also in the argv[] array it passes to the native
program.

> Does
>  echo :foo
> print ";foo"?

No, because 'echo' is a shell builtin.  But if you invoke echo.exe
that is a native Windows program (e.g., compiled with MinGW, then yes,
it will print ";foo".

> Does
>   : foo
> return a syntax error?

No (if it did, it would break too many shell scripts).  The conversion
only happens in environment and in argv[] passed to native programs.