--- Begin Message ---
Subject: |
Tramp's direct-async-process makes remote IRB be missing prompt and duplicate input |
Date: |
Sun, 19 May 2024 03:46:30 +0300 |
User-agent: |
Mozilla Thunderbird |
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.
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#71050: Tramp's direct-async-process makes remote IRB be missing prompt and duplicate input |
Date: |
Mon, 3 Jun 2024 14:35:52 +0300 |
User-agent: |
Mozilla Thunderbird |
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!
--- End Message ---