Eli Zaretskii writes: >> In any case, supporting stderr could be a starting point, as it seems to >> be a long-standing request: >> https://lists.gnu.org/archive/html/emacs-devel/2004-04/msg01051.html >> and it wouldn't involve a portability issue. > > Redirecting the child's stderr is already supported on Windows, so > this is only a matter of having the higher layers DTRT. So, let's start with small (but common) things. The attached patch adds a new keyword `:stderr' to `make-process'. The argument can be either a buffer or a (newly introduced) pipe process. One could write: (make-process :name "test" :buffer (current-buffer) :command (list (expand-file-name "./test.sh")) :stderr "stderr") to collect the stderr output in the "stderr" buffer, or could write: (let ((stderr (make-pipe-process :name "stderr"))) (make-process :name "test" :buffer (current-buffer) :command (list (expand-file-name "./test.sh")) :stderr stderr) (set-process-filter stderr ...)) to collect the stderr output with a process filter. The patch should apply after the make-process patch: > From 206196c18652601920017b3a30316ac4205b42dd Mon Sep 17 00:00:00 2001 > From: Daiki Ueno > Date: Mon, 16 Mar 2015 11:38:05 +0900 > Subject: [PATCH] Generalize start-process with keyword args Comments appreciated. To be honest, a new process type to collect stderr might be overkill, but it would make it possible for the current process I/O functions to support further file descriptors / handles. Regards, -- Daiki Ueno