Subject: bug#48118: 27.1; 28; Only first process receives output with multiple running processes

From: Eli Zaretskii <[email-masked]>
Date: Tue, 25 May 2021 20:12:28 +0300

> From: <[email-masked]>
> Cc: [email-masked], [email-masked], [email-masked]
> Date: Tue, 25 May 2021 17:18:22 +0200
> 
> Revised patch.

Thanks.

> --- a/etc/NEWS
> +++ b/etc/NEWS
> @@ -2706,6 +2706,13 @@ the Emacs Lisp reference manual for background.
>  * Lisp Changes in Emacs 28.1
>  
>  +++
> +** New variable 'process-prioritize-lower-fds'
> +When looping through file descriptors to handle subprocess output, try
> +to continue from where the previous loop left off instead of always
> +beginning from file descriptor zero.  Set this variable to t to get
> +the old behaviour.
> +
> +---

The "+++" and "---" markers should be reversed.

> +  DEFVAR_LISP ("process-prioritize-lower-fds", Vprocess_prioritize_lower_fds,
> +	       doc: /* If nil, try to not prioritize reading from any process.
> +Emacs loops through file descriptors to receive data from subprocesses.  After
> +accepting output from the first file descriptor with available data, restart the
> +loop from the file descriptor 0 if this option is non-nil.  */);
> +  Vprocess_prioritize_lower_fds = Qnil;

Please use DEVAR_BOOL, since this is a boolean variable.