Subject: Re: bug#61350: Eglot over Tramp freezes with large project

From: Michael Albinus <[email-masked]>
Date: Wed, 01 Mar 2023 15:51:05 +0100

João Távora <[email-masked]> writes:

Hi,

> On Wed, Mar 1, 2023 at 11:23 AM Gregory Heytings <[email-masked]> wrote:
>
>> Are you sure that this patch actually turns ControlPersist on?
>
> From Tramp's debug log.
>
> 11:34:29.869596 tramp-maybe-open-connection (3) # Sending command
> ‘exec ssh -l sshuser -p 2022 -o ControlMaster=auto -o
> ControlPath=tramp.%C -o ControlPersist=yes -e none localhost’
> 11:34:29.869679 tramp-send-command (6) # exec ssh -l sshuser -p 2022
> -o ControlMaster=auto -o ControlPath=tramp.%C -o ControlPersist=yes -e
> none localhost
> 11:34:29.869814 tramp-process-actions (3) # Waiting for prompts from
> remote shell...

I confirm João's observation. Setting ControlPersist=yes doesn't fix the
problem. And it is clear why it doesn't change anything:

- You open a remote connection. Tramp's main connection process becomes
  the ControlMaster.

- Eglot is called, which reuses this ControlMaster socket. Both the
  Tramp main connection process, and the Eglot process, persist, and are
  used for data exchange. It doesn't make a difference what value we
  have for ControlPersist.

> João

Best regards, Michael.