> I would be very surprised that the process-environment does not affect call-process, so I *must* be missing something obvious. I'll take a closer look as soon as I have a little more time. OK, now this is freak. REM ---- test.bat --- @echo off echo TEST=%TEST>test.log echo COMSPEC=%COMSPEC>>test.log REM -- end of test.bat --- C:\...\test> emacs -Q --batch --eval "(call-process \"c:/devel/emacs/repo/trunk/test.bat\")" C:\...\test> type test.log TEST=AAA COMSPEC=C:\bin64\JPSoft\TCMD\TCC.EXE C:\...\test> emacs -Q --batch --eval "(let ((process-environment '(\"TEST=BBB\" \"COMSPEC=C:\\Windows\\system32\\cmd.exe\"))) (call-process \"c:/devel/emacs/repo/trunk/test.bat\"))" C:\...\test> type test.log TEST=BBB COMSPEC=C:\bin64\JPSoft\TCMD\TCC.EXE Is that expected?