Subject: Re: bug#36742: 25.2; shell-mode over TRAMP does not read remote history file as comint input ring

From: Michael Albinus <[email-masked]>
Date: Mon, 22 Jul 2019 13:11:21 +0200

Fan Yang <[email-masked]> writes:

Hi Fan,

> * Bug description:
>
> When using "M-x shell" on a remote file (say "/scp:yf@val17:"), a bash
> is started at the server "val17" as the user "yf".  But the "*shell*"
> buffer is started with an empty input ring.  It does not read bash
> history file ("/scp:yf@val17:~/.bash_history") into comint input ring.
>
> * What is expected:
>
> When using "M-x shell" on a remote file (say "/scp:yf@val17:"), a bash
> is started at the server "val17" as the user "yf".  The "*shell*"
> 1. has the content of "/scp:yf@val17:~/.bash_history" as comint input
>    ring.  And I can use "M-p" to insert previous command, use "M-r" to
>    isearch previous comamnd, etc.
> 2. the commands I have input in this "*shell*" will be appended to
>    "/scp:yf@val17:~/.bash_history" after shell exit.
> Just like what "shell-mode" does for local shell.

I've fixed this in the Emacs repository, commit 7f95d2d407. It works as
expected, but you shall be aware that the history file contains also the
commands Tramp has sent in the background.

You shall also set tramp-histfile-override to nil in order to get the
expected history file.

Do you have a chance to test with a recent Emacs 27.0.50?

> Best Regards,
> Fan

Best regards, Michael.