GNU bug report logs - #56025
29.0.50; em-extpipe-test-2 times out on EMBA and Cygwin

Previous Next

Package: emacs;

Reported by: Ken Brown <kbrown <at> cornell.edu>

Date: Thu, 16 Jun 2022 18:36:02 UTC

Severity: normal

Found in version 29.0.50

Fixed in version 29.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Jim Porter <jporterbugs <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: larsi <at> gnus.org, 56025 <at> debbugs.gnu.org, spwhitton <at> email.arizona.edu, kbrown <at> cornell.edu
Subject: bug#56025: [PATCH v5] 29.0.50; em-extpipe-test-2 times out on EMBA and Cygwin
Date: Sun, 24 Jul 2022 10:36:36 -0700
[Message part 1 (text/plain, inline)]
On 7/24/2022 2:47 AM, Eli Zaretskii wrote:
>> From: Jim Porter <jporterbugs <at> gmail.com>
>> Cc: larsi <at> gnus.org, 56025 <at> debbugs.gnu.org
>> Date: Sat, 23 Jul 2022 22:29:28 -0700
>>
>> -@defun process-tty-name process
>> +@defun process-tty-name process &optional stream
>>   This function returns the terminal name that @var{process} is using for
>>   its communication with Emacs---or @code{nil} if it is using pipes
>>   instead of a pty (see @code{process-connection-type} in
>> -@ref{Asynchronous Processes}).  If @var{process} represents a program
>> -running on a remote host, the terminal name used by that program on
>> -the remote host is provided as process property @code{remote-tty}.  If
>> -@var{process} represents a network, serial, or pipe connection, the
>> -value is @code{nil}.
>> +@ref{Asynchronous Processes}).  If @var{stream} is one of @code{stdin},
>> +@code{stdout}, or @code{stderr}, this function returns the terminal
>> +name (or @code{nil}, as above) that @var{process} uses for that stream
>> +specifically.  You can use this to determine whether a particular
>> +stream uses a pipe or a pty.
> 
> This text doesn't tell what happens if STREAM is nil or omitted.

Ok, I expanded this to clarify things. (Same for the docstring.) 
Hopefully that provides enough detail. I tried to explain the behavior 
without going overly in-depth and explaining all the implementation 
details of how PTYs get set up. Let me know if it needs any further tweaks.

>> +If @var{process} represents a program running on a remote host, the
>> +terminal name used by that program on the remote host is provided as
>> +process property @code{remote-tty}.  If @var{process} represents a
>> +network, serial, or pipe connection, the value is @code{nil}.
> 
> If the previous paragraph is only for local subprocesses, the text
> there should say so.

I've added an explanation of what (I think) this means for remote 
processes: `process-tty-name' returns the name of the local TTY (so, the 
TTY used by ssh, for example), whereas the `remote-tty' property returns 
the name of, well... the remote TTY. I'm pretty sure that's what the 
behavior is at least, based on my reading of the code.

On 7/24/2022 2:48 AM, Eli Zaretskii wrote:
>> From: Lars Ingebrigtsen <larsi <at> gnus.org>
>>
>> Since this (mainly) affects Cygwin builds, could someone who uses
>> Windows give the patch a look-over and apply it?
>
> I did the review and tested on native MS-Windows, but I think we
> should wait for Ken to try this on Cygwin.

I tested the v4 patch on Cygwin (and GNU/Linux) and all the new tests I 
added passed. Ken also tested patch v2 and things worked.
[0001-Allow-creating-processes-where-only-one-of-stdin-or-.patch (text/plain, attachment)]
[0002-Add-STREAM-argument-to-process-tty-name.patch (text/plain, attachment)]

This bug report was last modified 2 years and 350 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.