Subject: Re: bug#30460: 27.0.50; `process-command' of a stopped process is t

From: Eli Zaretskii <[email-masked]>
Date: Sat, 17 Feb 2018 15:25:50 +0200

> Date: Wed, 14 Feb 2018 23:00:26 +0100
> From: [email-masked]
> 
> 
> (process-command
>    (make-process :name "sleep" :command '("sleep" "1h") :stop t))
> 
> returns t.
> 
> This is not documented (the docstring and the manual say that this
> should only happen for a pipe, network, or serial connection), and
> breaks M-x list-processes, which assumes that the return value of
> `process-command' is a list for an ordinary process.

":stop t" currently has no effect on a "real" process running a
command, because it is not generally possible to start a process in a
stopped state.  So it's a Good Thing list-processes fails for such
bogus "processes" ;-)

We could fix this by either ignoring :stop in make-process, or by
signaling an error.  The simplest change is just delete this snipper
from Fmake_process:

  if (tem = Fplist_get (contact, QCstop), !NILP (tem))
    pset_command (XPROCESS (proc), Qt);

The correct command was already set by that time, so the above just
overwrites the correct expected value.