]> git.eshelyaron.com Git - emacs.git/commit
Add facility to collect stderr of async subprocess
authorDaiki Ueno <ueno@gnu.org>
Tue, 7 Apr 2015 08:42:09 +0000 (17:42 +0900)
committerDaiki Ueno <ueno@unixuser.org>
Fri, 10 Apr 2015 22:59:27 +0000 (07:59 +0900)
commitf55ea05bdf60e24c09f9064fc0d2e8a114d6e358
treeed901f31fffe7afa1d4644dd9980042d7b35895b
parenta2940cd43e7931d16d3a3ce2cf5d4acd148dd00c
Add facility to collect stderr of async subprocess

* src/w32.h (register_aux_fd): New function declaration.
* src/w32.c (register_aux_fd): New function.
* src/process.h (struct Lisp_Process): New member stderrproc.
* src/process.c (PIPECONN_P): New macro.
(PIPECONN1_P): New macro.
(Fdelete_process, Fprocess_status, Fset_process_buffer)
(Fset_process_filter, Fset_process_sentinel, Fstop_process)
(Fcontinue_process): Handle pipe process specially.
(create_process): Respect p->stderrproc.
(Fmake_pipe_process): New function.
(Fmake_process): Add new keyword argument :stderr.
(wait_reading_process_output): Specially handle a pipe process when
it gets an EOF.
(syms_of_process): Register Qpipe and Smake_pipe_process.

* doc/lispref/processes.texi (Asynchronous Processes): Document
`make-pipe-process' and `:stderr' keyword of `make-process'.

* lisp/subr.el (start-process): Suggest to use `make-process' handle
standard error separately.

* test/automated/process-tests.el (process-test-stderr-buffer)
(process-test-stderr-filter): New tests.

* etc/NEWS: Mention new process type `pipe' and its usage with the
`:stderr' keyword of `make-process'.
doc/lispref/processes.texi
etc/NEWS
lisp/subr.el
src/process.c
src/process.h
src/w32.c
src/w32.h
test/automated/process-tests.el