GNU bug report logs - #61350
Eglot over Tramp freezes with large project

Previous Next

Package: emacs;

Reported by: Thomas Koch <thomas <at> koch.ro>

Date: Tue, 7 Feb 2023 18:49:02 UTC

Severity: normal

Full log


Message #26 received at 61350 <at> debbugs.gnu.org (full text, mbox):

From: João Távora <joaotavora <at> gmail.com>
To: Michael Albinus <michael.albinus <at> gmx.de>
Cc: Thomas Koch <thomas <at> koch.ro>, 61350 <at> debbugs.gnu.org
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
Date: Thu, 23 Feb 2023 14:18:31 +0000
> Can you try your experiment again after evaluating these two lines?

>   (cl-defmethod eglot-handle-notification :around (_ _ &key &allow-other-keys)
>     (run-at-time 0 nil (lambda () (cl-call-next-method))))

I forgot to mention that one should evaluate that in a
buffer were lexical-binding is t.

Better try this jsonrpc.el patch instead which does basically
the same, but won't have this pitfall.

diff --git a/lisp/jsonrpc.el b/lisp/jsonrpc.el
index f583d116d20..45e3d97ca41 100644
--- a/lisp/jsonrpc.el
+++ b/lisp/jsonrpc.el
@@ -184,8 +184,8 @@ jsonrpc-connection-receive
           (apply #'jsonrpc--reply connection id reply)))
        (;; A remote notification
         method
-        (funcall (jsonrpc--notification-dispatcher connection)
-                 connection (intern method) params))
+        (run-at-time 0 nil (jsonrpc--notification-dispatcher connection)
+                     connection (intern method) params))
        (;; A remote response
         (setq continuations
               (and id (gethash id (jsonrpc--request-continuations
connection))))

João




This bug report was last modified 2 years and 50 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.