Subject: bug#71050: closed (Re: bug#71050: Tramp's direct-async-process makes remote IRB be missing prompt and duplicate input)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 03 Jun 2024 11:37:03 +0000

Your bug report

#71050: Tramp's direct-async-process makes remote IRB be missing prompt and duplicate input

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
71050: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=71050
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#71050: Tramp's direct-async-process makes remote IRB be missing prompt and duplicate input
From: Dmitry Gutov <[email-masked]>
To: Michael Albinus <[email-masked]>
Cc: [email-masked]
Date: Mon, 3 Jun 2024 14:35:52 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Michael,

On 03/06/2024 14:23, Michael Albinus wrote:
>> It's not 100% clear to me that the bug is in Tramp and not IRB
>> (run-python doesn't seem to exhibit the same problems), but it's easy
>> enough to reproduce, so maybe the cause can be identified and fixed
>> without too much trouble. It's probably something like the TERM
>> variable or "is a tty" detection.
> Due to bug#71259, handling of tty in direct async processes has been
> improved. Could you pls check, whether this helps also in your case?

It does look fixed. This is great, thank you!

Subject: Tramp's direct-async-process makes remote IRB be missing prompt and duplicate input
From: Dmitry Gutov <[email-masked]>
To: [email-masked]
Date: Sun, 19 May 2024 03:46:30 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

It's not 100% clear to me that the bug is in Tramp and not IRB 
(run-python doesn't seem to exhibit the same problems), but it's easy 
enough to reproduce, so maybe the cause can be identified and fixed 
without too much trouble. It's probably something like the TERM variable 
or "is a tty" detection.

Steps:

1. Install inf-ruby from somewhere (e.g. NonGNU ELPA).
2. Connect to a server that has "direct-async-process" configured and 
which also has Ruby installed. fencepost has Ruby installed, FWIW.
3. Evaluate this: (run-ruby "irb").
4. The REPL buffer will be created called *ruby* where you can send 
input and receive output, but there is no prompt there, and whatever 
input you send is first duplicated in the output. Also, the buffer 
starts with "Switch to inspect mode", which seems to be related to the 
latter (input duplication) but not the former.

If the connection is not "direct-async-process", the REPL functions 
normally (prompt visible, no input duplication).

There is also an intermediate situation (with "direct-async-process" 
enabled) that happens if you simply run 'M-x inf-ruby' - that calls 
'irb' with a certain set of arguments for maximum compatibility. The 
result is that the prompt *is* visible, but the input duplication still 
happens.

It would be great to fix the bare (run-ruby "irb"), though - because 
there are contexts where passing the aforementioned extra arguments is 
more difficult. But I'll take any improvements as a win.