[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.
Re: Bug: make fails to execute .BAT files with space in the path, with SHELL=cmd.exe, Erik Carstensen, 2013/05/02
- Re: Bug: make fails to execute .BAT files with space in the path, with SHELL=cmd.exe,
Eli Zaretskii <=