make-w32
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Bug: make fails to execute .BAT files with space in the path, with S


From: Eli Zaretskii
Subject: Re: Bug: make fails to execute .BAT files with space in the path, with SHELL=cmd.exe
Date: Thu, 02 May 2013 20:14:52 +0300

> Date: Thu, 2 May 2013 14:16:19 +0200
> From: Erik Carstensen <address@hidden>
> Cc: address@hidden
> 
> So I assume then that make is expected to use the same quoting rules as CMD
> when short-circuiting the shell.

Yes.  But not because of that change: you always were supposed to do
that.

> Then there is another bug: make's arg quoting has some special
> treatment for single quotes, whereas cmd.exe itself hasn't. So, in
> 
> SHELL=cmd.exe
> default:
>         'a b\x.bat'
>         'a b\x.bat' >NUL
> 
> The first invocation of x.bat works, while the second one won't (''a' is
> not recognized as...)

It's not a bug: cmd.exe doesn't know about '..' quoting, so this
command is not supposed to work.  That it does without redirection is
sheer luck.

I don't want to rock the boat any further in this regard before the
next release of Make, so I don't want to forcibly disable '..' quoting
support when cmd.exe is used.  Make worked like that forever; I think
one incompatible change per release is more than enough ;-)

> This is not a problem for my use case, but it did add to my confusion when
> doing experiments.

Thanks.  The NEWS entry I added does mention that some
incompatibilities in borderline cases could be caused by that change.
I guess this is one of them.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]