GNU bug report logs - #72765
Eglot + Clangd + Company + non-empty suffix = duplicate text

Previous Next

Package: emacs;

Reported by: Dmitry Gutov <dmitry <at> gutov.dev>

Date: Thu, 22 Aug 2024 23:09:01 UTC

Severity: normal

Full log


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

From: Dmitry Gutov <dmitry <at> gutov.dev>
To: João Távora <joaotavora <at> gmail.com>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 72765 <at> debbugs.gnu.org
Subject: Re: bug#72765: Eglot + Clangd + Company + non-empty suffix =
 duplicate text
Date: Tue, 10 Sep 2024 04:40:08 +0300
Hi Joao,

On 08/09/2024 18:51, João Távora wrote:
> So, for the record, before this patch with the latest emacs-30, I get the
> results in failure1.txt

I've taken some more looks at the test output.

[eglot-tests] contents of `*EGLOT (cmpl-project/(rust-mode 
rust-ts-mode)) output*':
> [eglot-tests] contents of `nil':
> [eglot-tests] Killing (main.rs), wiping /tmp/eglot--fixture-XCmCqo
> Test eglot-test-rust-completion-exit-function backtrace:
>    set-buffer(#<killed buffer>)  eglot--call-with-fixture((("cmpl-project" ("main.rs" . "fn test() ->Test eglot-test-rust-completion-exit-function condition:
>      (error "Selecting deleted buffer")

This error comes from eglot--call-with-fixture, where one of the last

  (with-current-buffer buffer (buffer-string))

calls results in "Selecting deleted buffer" error. I'm not sure where 
that comes from (for the duration of the log the contents of stdout 
buffer are printed twice, and stderr and events just once -- somehow 
there are two elements inside the 'new-servers' var).

That hid the original problem, which was just that in the bare session 
yasnippet is not available. Not sure what to do about it - 
monkeypatching a replacements does not seem wise - but if we adjust the 
"expected" at the end not to have parens, then the test finally passes. 
It will fail interactively, though, when yasnippet is installed.

I've pushed that fix as 
https://git.savannah.gnu.org/cgit/emacs.git/commit/?h=emacs-30&id=818c0cc9a51a1d678749404cdacdf640d6f32d6e 
now.

It makes that test more similar to 
'eglot-test-try-completion-inside-symbol', but testing rust-analyzer 
separately still seems like a plus.




This bug report was last modified 282 days ago.

Previous Next


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