GNU bug report logs - #73496
30.0.91; Eglot (and clangd) out of sync after switching git branches in magit

Previous Next

Package: emacs;

Reported by: Mikael Springer <mikael.springer <at> protonmail.com>

Date: Thu, 26 Sep 2024 09:46:02 UTC

Severity: normal

Found in version 30.0.91

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Mikael Springer <mikael.springer <at> protonmail.com>
Cc: 73496 <at> debbugs.gnu.org, joaotavora <at> gmail.com
Subject: bug#73496: 30.0.91; Eglot (and clangd) out of sync after switching git branches in magit
Date: Sat, 19 Oct 2024 09:58:04 +0300
> Date: Thu, 26 Sep 2024 11:07:43 +0000
> From: Mikael Springer <mikael.springer <at> protonmail.com>
> Cc: 73496 <at> debbugs.gnu.org
> 
> You are right, I have eglot-ensure enabled for c++ts-mode.
> 
> I'll try to create an emacs -Q recipe for this as soon as I can. I also 
> agree and suspect that any outside file operation will work as a trigger.

Ping!  Any success in creating such a recipe?

> On 2024-09-26 12:25, João Távora wrote:
> > On Thu, Sep 26, 2024 at 11:08 AM Eli Zaretskii <eliz <at> gnu.org> wrote:
> >>> Date: Thu, 26 Sep 2024 08:20:52 +0000
> >>> From:  Mikael Springer via "Bug reports for GNU Emacs,
> >>>   the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
> >>>
> >>>
> >>> 1. Visit buffer with C++ code -> Eglot starts.
> >>> 2. Listing references for a variable in Eglot works.
> >>> 3. Switch Git branch in magit.
> >>> 4. Go back to C++ buffer. Listing references for a variable using Eglot
> >>> does not work, error message in echo buffer; "jsonrpc-request:
> >>> jsonrpc-error: "request id=44 failed:", (jsonrpc-error-code . -32602),
> >>> (jsonrpc-error-message . "trying to get AST for non-added document"),
> >>> (jsonrpc-error-data)"
> >>> 5. Closing the buffer and opening it again fixes the problem, or doing
> >>> eglot-reconnect also fixes the problem, listing references is working
> >>> again.
> >>> 6. This is true for all open C++ buffers handled by Eglot before the
> >>> branch switch.
> >> CC'ing João.
> > It would be great if Mikael could make this into a Emacs -Q recipe
> > to ease investigation and rule out interference from configuration etc.
> >
> > For example this isn't  true
> >
> >    Visit buffer with C++ code -> Eglot starts.
> >
> > unless you use eglot-ensure in your config.  And possibly Magit isn't
> > needed to trigger this, a simple Git branch change on the side will do (or
> > maybe it won't in which case Magit has to be investigated, too).
> >
> > A concrete example toy repo with, say, a single file would also
> > be useful.
> >
> > João.
> 
> 




This bug report was last modified 238 days ago.

Previous Next


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