On Tue, Aug 22, 2017 at 10:54 AM, Eli Zaretskii wrote: > As to the "other places", the only problem I'm aware of is that the > encoding of the command-line arguments, when they arrive at w32proc.c, > is not known in advance, so this must be somehow fixed/changed, > otherwise we will be unable to re-encode them in UTF-16. I believe > the comment in w32.c does mention that. Just to understand the issue better, I applied the attached diff to use CreateProcessW. It seemed to work, but only when I start emacs from mingw's msys shell. When running from cmd.exe it still translates to space. Furthermore, when I run an unpatched Emacs from the msys shell, the output of the test I posted above is different: (call-process "git" nil '(t t) nil "-c" "alias.x=!x() { printf '%s' \"$1\" | od -tx1; }; x" "x" "(好)") 0000000 28 c3 a5 c2 a5 c2 bd 29 0000010 Do you have any idea what setting could cause this?