]> code.delx.au - gnu-emacs/blobdiff - lispref/processes.texi
Merged in changes from CVS trunk.
[gnu-emacs] / lispref / processes.texi
index 098d3936e6e54d6c369ac9be84a0261536e6b9ad..ccf8f76d87ee731a3f489058b1b0ed047f28a816 100644 (file)
@@ -676,8 +676,8 @@ instead of a terminal (see @code{process-connection-type} in
 @ref{Asynchronous Processes}).
 @end defun
 
 @ref{Asynchronous Processes}).
 @end defun
 
-@anchor{Coding systems for a subprocess}
 @defun process-coding-system process
 @defun process-coding-system process
+@anchor{Coding systems for a subprocess}
 This function returns a cons cell describing the coding systems in use
 for decoding output from @var{process} and for encoding input to
 @var{process} (@pxref{Coding Systems}).  The value has this form:
 This function returns a cons cell describing the coding systems in use
 for decoding output from @var{process} and for encoding input to
 @var{process} (@pxref{Coding Systems}).  The value has this form:
@@ -929,11 +929,21 @@ process and only then specify its buffer or filter function; no output
 can arrive before you finish, if the code in between does not call any
 primitive that waits.
 
 can arrive before you finish, if the code in between does not call any
 primitive that waits.
 
+@defvar process-adaptive-read-buffering
+On some systems, when Emacs reads the output from a subprocess, the
+output data is read in very small blocks, potentially resulting in
+very poor performance.  This behaviour can be remedied to some extent
+by setting the variable @var{process-adaptive-read-buffering} to a
+non-nil value (the default), as it will automatically delay reading
+from such processes, thus allowing them to produce more output before
+Emacs tries to read it.
+@end defvar
+
   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
   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
+redirect one of them to a file---for example, by using an appropriate
 shell command.
 
 @menu
 shell command.
 
 @menu
@@ -1240,7 +1250,7 @@ or terminal input.  Occasionally it is useful in a Lisp program to
 explicitly permit output to arrive at a specific point, or even to wait
 until output arrives from a process.
 
 explicitly permit output to arrive at a specific point, or even to wait
 until output arrives from a process.
 
-@defun accept-process-output &optional process seconds millisec
+@defun accept-process-output &optional process seconds millisec just-this-one
 This function allows Emacs to read pending output from processes.  The
 output is inserted in the associated buffers or given to their filter
 functions.  If @var{process} is non-@code{nil} then this function does
 This function allows Emacs to read pending output from processes.  The
 output is inserted in the associated buffers or given to their filter
 functions.  If @var{process} is non-@code{nil} then this function does
@@ -1263,6 +1273,15 @@ Not all operating systems support waiting periods other than multiples
 of a second; on those that do not, you get an error if you specify
 nonzero @var{millisec}.
 
 of a second; on those that do not, you get an error if you specify
 nonzero @var{millisec}.
 
+@c Emacs 21.4 feature
+If @var{process} is a process, and the argument @var{just-this-one} is
+non-nil, only output from that process is handled, suspending output
+from other processes until some output has been received from that
+process or the timeout expires.  If @var{just-this-one} is an integer,
+also inhibit running timers.  This feature is generally not
+recommended, but may be necessary for specific applications, such as
+speech synthesis.
+
 The function @code{accept-process-output} returns non-@code{nil} if it
 did get some output, or @code{nil} if the timeout expired before output
 arrived.
 The function @code{accept-process-output} returns non-@code{nil} if it
 did get some output, or @code{nil} if the timeout expired before output
 arrived.
@@ -1664,7 +1683,7 @@ meaning ask the system to allocate an unused port to listen on.
 @end defun
 
 @node Datagrams
 @end defun
 
 @node Datagrams
-@section Datagrams 
+@section Datagrams
 @cindex datagrams
 
   A datagram connection communicates with individual packets rather
 @cindex datagrams
 
   A datagram connection communicates with individual packets rather
@@ -1896,7 +1915,7 @@ that port.
 @end table
 
 The original argument list, modified with the actual connection
 @end table
 
 The original argument list, modified with the actual connection
-information, is available via the `process-contact' function.
+information, is available via the @code{process-contact} function.
 @end defun
 
 @defun set-network-process-option process option value
 @end defun
 
 @defun set-network-process-option process option value
@@ -1905,7 +1924,7 @@ This function sets or modifies a network option for network process
 @var{option} and their corresponding values @var{value}.
 
 The current setting of an option is available via the
 @var{option} and their corresponding values @var{value}.
 
 The current setting of an option is available via the
-`process-contact' function.
+@code{process-contact} function.
 @end defun
 
 @defun network-interface-list
 @end defun
 
 @defun network-interface-list
@@ -1951,7 +1970,7 @@ the port number.
 
 @example
 (featurep 'make-network-process '(@var{keyword} @var{value}))
 
 @example
 (featurep 'make-network-process '(@var{keyword} @var{value}))
-@end example 
+@end example
 
 @noindent
 The result of the first form is @code{t} if it works to specify
 
 @noindent
 The result of the first form is @code{t} if it works to specify
@@ -1977,7 +1996,7 @@ Non-@code{nil} if the system can select the port for a server.
 
 @example
 (featurep 'make-network-process '@var{keyword})
 
 @example
 (featurep 'make-network-process '@var{keyword})
-@end example 
+@end example
 
 Here are some of the option @var{keyword}s you can test in
 this way.
 
 Here are some of the option @var{keyword}s you can test in
 this way.