Subject: Call Process under NTemacs

From: "John R. Dennis" <[email-masked]>
Date: Wed, 18 Sep 1996 17:48:37 -0400

Geoff:

I'm running emacs 19.31 on NT 4.0. When a lisp program invokes call-process sending
a region as stdin to the process, it fails with an invalid argument error.

I stepped though the lisp debugger and saw something
very interesting. Just before call-process is invoked the arguments look just as I expect
them to. Then I step once in the debugger, the call-process generates an "Invalid Argument"
error, and (this is the interesting part) the arguments to call-process in the debugger have
now changed from what they were before the call to call-process was made. The argument
list now includes "C:/TEMP/emf00092".

I'm going to guess that this temp file (which exists) was created to hold the regions data, that
instead of passing the region as stdin, its now passed as a file argument. I assume this was done
by the C code as a workaround and hence is why the argument list is different before and after the
call to call-process. I also assume the reason I got an "invalid argument" was because the
temp file name uses the Unix / as a path separator instead of backslash.

I searched the source code for something that would be creating a temp file with the prefix "emf"
but I didn't find anything.

Does this ring a bell with you? Do you have a workaround? Do you have any comments?

Thanks,

John Dennis
[email-masked]