Subject: Re: bug#27612: 25.2; invoking term from a remote eshell uses the local path

From: Michael Albinus <[email-masked]>
Date: Sat, 15 Jul 2017 09:38:46 +0200

Pablo Barbachano <[email-masked]> writes:

> Hi Michael,

Hi Pablo,

>> That is because term.el is not Tramp-aware. In `term-exec-1', it uses
>> `start-process' instead of `start-file-process'.
>
> I tried that and my dummy test case suddenly worked.

Sure. "hostnme" just dumps a string, and it doesn't send escape
sequences to the terminal.

> So that's enough to make it work, but more complex programs like 'top' or 'ipython' seem to have the output mangled. For example if I now do `term bash`
>
> ```
> $ echo -e "1"
>              1
>               $ echo -e "\r1"
> 1
> ```
>
> So something is going on with how the newlines are interpreted in the terminal. This does not happen if I run them locally.
>
> I can try playing with this for some time and maybe send a patch.

You might try it. But I believe it is more than just newline
handling. Escape sequences are sent, and the buffer playing the tty is
not prepared for this in the remote case. I would start with the
process-filter.

> Thanks for the pointer!
> --
> Pablo

Best regards, Michael.