aboutsummaryrefslogtreecommitdiffstats
path: root/src/process.c
diff options
context:
space:
mode:
authorPhilipp Stephani2019-04-19 13:03:40 +0200
committerPhilipp Stephani2019-04-19 14:03:16 +0200
commit5c5e309527e6b582e2c04b83e7af45f3144863ac (patch)
tree0a19797e7e67663915d95b72ea5452c80b5dc552 /src/process.c
parent3ff7d7321ac62b1eb896e8a032e7f75f5a6b8146 (diff)
downloademacs-5c5e309527e6b582e2c04b83e7af45f3144863ac.tar.gz
emacs-5c5e309527e6b582e2c04b83e7af45f3144863ac.zip
Remove :stop key from make-process.
This has never worked and caused issues such as Bug#30460. * src/process.c (Fmake_process): Don't accept :stop key any more. (syms_of_process): Define needed symbol 'null'. * test/src/process-tests.el (make-process/stop): New unit test. * doc/lispref/processes.texi (Asynchronous Processes): Remove :stop key from manual.
Diffstat (limited to 'src/process.c')
-rw-r--r--src/process.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/process.c b/src/process.c
index 0c440371628..6717ccb4187 100644
--- a/src/process.c
+++ b/src/process.c
@@ -1643,10 +1643,11 @@ ENCODING is used for writing.
1643:noquery BOOL -- When exiting Emacs, query the user if BOOL is nil and 1643:noquery BOOL -- When exiting Emacs, query the user if BOOL is nil and
1644the process is running. If BOOL is not given, query before exiting. 1644the process is running. If BOOL is not given, query before exiting.
1645 1645
1646:stop BOOL -- Start process in the `stopped' state if BOOL non-nil. 1646:stop BOOL -- BOOL must be nil. The `:stop' key is ignored otherwise
1647In the stopped state, a process does not accept incoming data, but you 1647and is retained for compatibility with other process types such as
1648can send outgoing data. The stopped state is cleared by 1648pipe processes. Asynchronous subprocesses never start in the
1649`continue-process' and set by `stop-process'. 1649`stopped' state. Use `stop-process' and `continue-process' to send
1650signals to stop and continue a process.
1650 1651
1651:connection-type TYPE -- TYPE is control type of device used to 1652:connection-type TYPE -- TYPE is control type of device used to
1652communicate with subprocesses. Values are `pipe' to use a pipe, `pty' 1653communicate with subprocesses. Values are `pipe' to use a pipe, `pty'
@@ -1746,8 +1747,10 @@ usage: (make-process &rest ARGS) */)
1746 1747
1747 if (!query_on_exit) 1748 if (!query_on_exit)
1748 XPROCESS (proc)->kill_without_query = 1; 1749 XPROCESS (proc)->kill_without_query = 1;
1749 if (tem = Fplist_get (contact, QCstop), !NILP (tem)) 1750 tem = Fplist_get (contact, QCstop);
1750 pset_command (XPROCESS (proc), Qt); 1751 /* Normal processes can't be started in a stopped state, see
1752 Bug#30460. */
1753 CHECK_TYPE (NILP (tem), Qnull, tem);
1751 1754
1752 tem = Fplist_get (contact, QCconnection_type); 1755 tem = Fplist_get (contact, QCconnection_type);
1753 if (EQ (tem, Qpty)) 1756 if (EQ (tem, Qpty))
@@ -8300,6 +8303,8 @@ returns non-`nil'. */);
8300 "internal-default-interrupt-process"); 8303 "internal-default-interrupt-process");
8301 DEFSYM (Qinterrupt_process_functions, "interrupt-process-functions"); 8304 DEFSYM (Qinterrupt_process_functions, "interrupt-process-functions");
8302 8305
8306 DEFSYM (Qnull, "null");
8307
8303 defsubr (&Sprocessp); 8308 defsubr (&Sprocessp);
8304 defsubr (&Sget_process); 8309 defsubr (&Sget_process);
8305 defsubr (&Sdelete_process); 8310 defsubr (&Sdelete_process);