[ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [Index] | [ ? ] |
There are three functions that create a new subprocess in which to run a
program. One of them, start-process
, creates an asynchronous process
and returns a process object (voir la section Creating an Asynchronous Process). The other
two, call-process
and call-process-region
, create a
synchronous process and do not return a process object (voir la section Creating a Synchronous Process).
Synchronous and asynchronous processes are explained in the following sections. Since the three functions are all called in a similar fashion, their common arguments are described here.
In all cases, the function's program argument specifies the program to
be run. An error is signaled if the file is not found or cannot be
executed. If the file name is relative, the variable exec-path
contains a list of directories to search. Emacs initializes
exec-path
when it starts up, based on the value of the environment
variable PATH
. The standard file name constructs, ‘~’,
‘.’, and ‘..’, are interpreted as usual in exec-path
, but
environment variable substitutions (‘$HOME’, etc.) are not recognized;
use substitute-in-file-name
to perform them (voir la section Functions that Expand Filenames). nil
in this list refers to default-directory
.
Executing a program can also try adding suffixes to the specified name:
This variable is a list of suffixes (strings) to try adding to the specified
program file name. The list should include ""
if you want the name
to be tried exactly as specified. The default value is system-dependent.
Please note: The argument program contains only the name of the program; it may not contain any command-line arguments. You must use args to provide those.
Each of the subprocess-creating functions has a buffer-or-name
argument which specifies where the standard output from the program will
go. It should be a buffer or a buffer name; if it is a buffer name, that
will create the buffer if it does not already exist. It can also be
nil
, which says to discard the output unless a filter function
handles it. (Voir la section Process Filter Functions, and Reading and Printing Lisp Objects.) Normally,
you should avoid having multiple processes send output to the same buffer
because their output would be intermixed randomly.
All three of the subprocess-creating functions have a &rest
argument,
args. The args must all be strings, and they are supplied to
program as separate command line arguments. Wildcard characters and
other shell constructs have no special meanings in these strings, since the
strings are passed directly to the specified program.
The subprocess gets its current directory from the value of
default-directory
(voir la section Functions that Expand Filenames).
The subprocess inherits its environment from Emacs, but you can specify
overrides for it with process-environment
. Voir la section Operating System Environment.
The value of this variable is a string, the name of a directory that
contains programs that come with GNU Emacs, programs intended for Emacs to
invoke. The program movemail
is an example of such a program; Rmail
uses it to fetch new mail from an inbox.
The value of this variable is a list of directories to search for programs
to run in subprocesses. Each element is either the name of a directory
(i.e., a string), or nil
, which stands for the default directory
(which is the value of default-directory
).
The value of exec-path
is used by call-process
and
start-process
when the program argument is not an absolute file
name.
[ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [Index] | [ ? ] |
Ce document a été généré par Eric Reinbold le 13 Octobre 2007 en utilisant texi2html 1.78.