@code{call-process}, above. If @var{destination} is the integer 0,
@code{call-process-region} discards the output and returns @code{nil}
immediately, without waiting for the subprocess to finish (this only
-works if asynchronous subprocess are supported).
+works if asynchronous subprocesses are supported).
The remaining arguments, @var{args}, are strings that specify command
line arguments for the program.
called the @dfn{filter function} can be called to act on the output. If
the process has no buffer and no filter function, its output is
discarded.
-
+
Output from a subprocess can arrive only while Emacs is waiting: when
reading terminal input, in @code{sit-for} and @code{sleep-for}
(@pxref{Waiting}), and in @code{accept-process-output} (@pxref{Accepting
can arrive before you finish, if the code in between does not call any
primitive that waits.
+ It is impossible to separate the standard output and standard error
+streams of the subprocess, because Emacs normally spawns the subprocess
+inside a pseudo-TTY, and a pseudo-TTY has only one output channel. If
+you want to keep the output to those streams separate, you should
+redirect one of them to a file--for example, by using an appropriate
+shell command.
+
Subprocess output is normally decoded using a coding system before the
buffer or filter function receives it, much like text read from a file.
You can use @code{set-process-coding-system} to specify which coding