Commit c7ed57ea authored by Noam Postavsky's avatar Noam Postavsky

Mention that processes start in default-directory (Bug#18515)

* doc/lispref/processes.texi (Synchronous Processes):
(Asynchronous Processes):
* lisp/subr.el (start-process):
* src/callproc.c (call-process): Mention that the subprocess starts in
`default-directory' when local, suggest `start-file-process' and
`process-file' otherwise.
parent 856ec9ff
......@@ -300,8 +300,11 @@ system, much like text written into a file. @xref{Coding Systems}.
@defun call-process program &optional infile destination display &rest args
This function calls @var{program} and waits for it to finish.
The current working directory of the subprocess is
@code{default-directory}.
The current working directory of the subprocess is set to the current
buffer's value of @code{default-directory} if that is local (as
determined by @code{unhandled-file-name-directory}), or "~" otherwise.
If you want to run a process in a remote directory use
@code{process-file}.
The standard input for the new process comes from file @var{infile} if
@var{infile} is not @code{nil}, and from the null device otherwise.
......@@ -677,6 +680,12 @@ created with @code{make-pipe-process}, described below.
The original argument list, modified with the actual connection
information, is available via the @code{process-contact} function.
The current working directory of the subprocess is set to the current
buffer's value of @code{default-directory} if that is local (as
determined by `unhandled-file-name-directory'), or "~" otherwise. If
you want to run a process in a remote direcotry use
@code{start-file-process}.
@end defun
@defun make-pipe-process &rest args
......
......@@ -1970,7 +1970,12 @@ arguments PROGRAM-ARGS are strings to give program as arguments.
If you want to separate standard output from standard error, use
`make-process' or invoke the command through a shell and redirect
one of them using the shell syntax."
one of them using the shell syntax.
The process runs in `default-directory' if that is local (as
determined by `unhandled-file-name-directory'), or \"~\"
otherwise. If you want to run a process in a remote directory
use `start-file-process'."
(unless (fboundp 'make-process)
(error "Emacs was compiled without subprocess support"))
(apply #'make-process
......
......@@ -240,6 +240,10 @@ Otherwise it waits for PROGRAM to terminate
and returns a numeric exit status or a signal description string.
If you quit, the process is killed with SIGINT, or SIGKILL if you quit again.
The process runs in `default-directory' if that is local (as
determined by `unhandled-file-name-directory'), or "~" otherwise. If
you want to run a process in a remote directory use `process-file'.
usage: (call-process PROGRAM &optional INFILE DESTINATION DISPLAY &rest ARGS) */)
(ptrdiff_t nargs, Lisp_Object *args)
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment