aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorDaiki Ueno2015-04-07 17:42:09 +0900
committerDaiki Ueno2015-04-11 07:59:27 +0900
commitf55ea05bdf60e24c09f9064fc0d2e8a114d6e358 (patch)
treeed901f31fffe7afa1d4644dd9980042d7b35895b /lisp
parenta2940cd43e7931d16d3a3ce2cf5d4acd148dd00c (diff)
downloademacs-f55ea05bdf60e24c09f9064fc0d2e8a114d6e358.tar.gz
emacs-f55ea05bdf60e24c09f9064fc0d2e8a114d6e358.zip
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'.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/subr.el6
1 files changed, 3 insertions, 3 deletions
diff --git a/lisp/subr.el b/lisp/subr.el
index 00acdb6541f..3b536f2e7d6 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -1936,9 +1936,9 @@ PROGRAM is the program file name. It is searched for in `exec-path'
1936\(which see). If nil, just associate a pty with the buffer. Remaining 1936\(which see). If nil, just associate a pty with the buffer. Remaining
1937arguments are strings to give program as arguments. 1937arguments are strings to give program as arguments.
1938 1938
1939If you want to separate standard output from standard error, invoke 1939If you want to separate standard output from standard error, use
1940the command through a shell and redirect one of them using the shell 1940`make-process' or invoke the command through a shell and redirect
1941syntax." 1941one of them using the shell syntax."
1942 (unless (fboundp 'make-process) 1942 (unless (fboundp 'make-process)
1943 (error "Emacs was compiled without subprocess support")) 1943 (error "Emacs was compiled without subprocess support"))
1944 (apply #'make-process 1944 (apply #'make-process