bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#61350: Eglot over Tramp freezes with large project


From: Thomas Koch
Subject: bug#61350: Eglot over Tramp freezes with large project
Date: Sun, 26 Feb 2023 12:24:39 +0200 (EET)

Michael and I met yesterday for a debugging session.

Eventually we tried without SSH ControlMaster (via 
tramp-use-ssh-controlmaster-options). Eglot did not freeze anymore.

I actually found the hint to ControlMaster already early on but probably made a 
mistake when trying it:

- Either I set tramp-ssh-controlmaster-options to nil, which is the default and 
does not have any effect.
- Or SSH still used ControlMaster due to my ssh config:

  Host *
     ControlMaster auto

I still see one

error in process filter: tramp-error: peculiar error: "Forbidden reentrant call 
of Tramp"

I don't consider this a solution but just a workaround. After all I had tramp 
freeze my emacs also before I used eglot. After reading jsonrpc and tramp 
source code yesterday I also believe that Joãos proposal might help to make 
Tramp more stable.

Unfortunately I've not done any elisp programming yet and thus can't help with 
coding.

I was thinking whether there could be an abstract (and reliable) process 
interaction library to be used by tramp, jsonrpc and others. In my init.el I 
found at least magit (magit-process.el) and maybe org-export (ox.el) which also 
call external processes and need to reliably parse process output.

jsonrpc is special since it needs to match process output by message id to 
previous process input.

Otherwise it seems to me that there is a lot of shared logic?





reply via email to

[Prev in Thread] Current Thread [Next in Thread]