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 #272 received at 61350 <at> debbugs.gnu.org (full text, mbox):

From: João Távora <joaotavora <at> gmail.com>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: Thomas Koch <thomas <at> koch.ro>, Michael Albinus <michael.albinus <at> gmx.de>,
 61350 <at> debbugs.gnu.org
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
Date: Thu, 16 Mar 2023 13:28:40 +0000
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:

> Sorry 'bout my previous email.
>
>> diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
>> index 47173b95bea..885b29f9471 100644
>> --- a/lisp/net/tramp.el
>> +++ b/lisp/net/tramp.el
>> @@ -5800,6 +5800,11 @@ tramp-accept-process-output
>>  This is needed in order to hide `last-coding-system-used', which is set
>>  for process communication also.
>>  If the user quits via `C-g', it is propagated up to `tramp-file-name-handler'."
>> +  (when-let (((process-get proc 'shared-socket))
>> +	     (v (process-get proc 'vector)))
>> +    (dolist (p (delq proc (process-list)))
>> +      (when (tramp-file-name-equal-p v (process-get p 'vector))
>> +	(while (accept-process-output p 0 nil t)))))
>>    (with-current-buffer (process-buffer proc)
>>      (let ((inhibit-read-only t)
>>  	  last-coding-system-used
>
> Looks OK to me (tho this `dolist` in the middle of all those
> `(tramp-accept-process-output .. 0)` busy loops is definitely not the
> most efficient use of resources :-).

It sure ain't pretty, but that's what is known to fix it for now.




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

Previous Next


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