[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Asynchronous subprocesses receive input when it is sent to them by Emacs, which is done with the functions in this section. You must specify the process to send input to, and the input data to send. The data appears on the "standard input" of the subprocess.
Some operating systems have limited space for buffered input in a PTY. On these systems, Emacs sends an EOF periodically amidst the other characters, to force them through. For most programs, these EOFs do no harm.
Subprocess input is normally encoded using a coding system before the
subprocess receives it, much like text written into a file. You can use
set-process-coding-system
to specify which coding system to use
(see section 37.6 Process Information). Otherwise, the coding system comes from
coding-system-for-write
, if that is non-nil
; or else from
the defaulting mechanism (see section 33.10.5 Default Coding Systems).
Sometimes the system is unable to accept input for that process, because the input buffer is full. When this happens, the send functions wait a short while, accepting output from subprocesses, and then try again. This gives the subprocess a chance to read more of its pending input and make space in the buffer. It also allows filters, sentinels and timers to run--so take account of that in writing your code.
nil
, the current buffer's
process is used.
The function returns nil
.
(process-send-string "shell<1>" "ls\n") => nil ---------- Buffer: *shell* ---------- ... introduction.texi syntax-tables.texi~ introduction.texi~ text.texi introduction.txt text.texi~ ... ---------- Buffer: *shell* ---------- |
nil
, the current buffer's process is
used.)
An error is signaled unless both start and end are integers or markers that indicate positions in the current buffer. (It is unimportant which number is larger.)
If process-name is not supplied, or if it is nil
, then
this function sends the EOF to the current buffer's process. An
error is signaled if the current buffer has no process.
The function returns process-name.
(process-send-eof "shell") => "shell" |
t
if this is
true, or if Emacs cannot tell; it is nil
if Emacs can be certain
that this is not so.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |