On Thu, Oct 16, 2014 at 5:30 PM, Noam Postavsky wrote: > On Thu, Oct 16, 2014 at 1:06 PM, Eli Zaretskii wrote: >> GNU Make overcomes this by detecting these cases, and invoking >> CreateProcess in a special way (NULL as the first argument), see the >> function process_begin there, around line 710 of sub_proc.c in the GNU >> Make sources. If you can come up with a way to do the same in Emacs, >> by some suitable patch to cmdproxy.c, such a patch will be welcome >> (assuming either the patch is small, or you will agree to sign legal >> papers necessary for submitting substantial patches to FSF projects). > > I'll take a look (btw I have already signed for Emacs). Patching cmdproxy.c fixes the call-process-shell-command case: (call-process-shell-command "\"c:/path with space/foo-bar.bat\" \"x &y\"" nil '(t t) t) To fix the call-process case: (call-process "c:/path with space/foo-bar.bat" nil '(t t) t "x &y") required a patch to w32proc.c. This is my first patch to Emacs proper; hopefully I got everything in the right format.