Subject: bug#18745: 24.3; MS Windows, `call-process-shell-command' fails on `shell-quote-argument'ed bat file with quoted args

From: Noam Postavsky <[email-masked]>
Date: Thu, 16 Oct 2014 17:50:32 -0400

On Thu, Oct 16, 2014 at 4:15 PM, Stefan Monnier
<[email-masked]> wrote:
> - The "rest" arguments to call-process-shell-command are deprecated.

I was unaware of that, is it written anywhere?

> - Why not use call-process instead (since you don't actually use the
>   "shell-command" part, really)?

That would probably make more sense, but it turns out not to help anyway:

>     (call-process "cmd.exe" nil t t
>                   "/c" "\"c:/path with space/foo-bar.bat\" \"x y\"")

'\"c:/path with space/foo-bar.bat\"' is not recognized as an internal
or external command,
operable program or batch file.

>     (call-process "c:/path with space/foo-bar.bat" nil t t "x" "y")

'c:\path' is not recognized as an internal or external command,
operable program or batch file.