GNU bug report logs -
#70211
emacs-eglot fails after upgrade to emacs-29.3
Previous Next
Reported by: Lilly <lilly.ra <at> proton.me>
Date: Fri, 5 Apr 2024 07:44:02 UTC
Severity: normal
Tags: moreinfo
Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Lilly via Bug reports for GNU Guix <bug-guix <at> gnu.org> writes:
> Upgrading jsonrpc to version 1.0.25 solved the issue for me.
Hi, the above solution does not work for me so I tried to dig into
the problem further, and I think I've moved closer to the real
cause of this problem.
TLDR:
This issue is more close related to jsonrpc instead of eglot, and
putting
> (setq load-no-native t)
In early-init.el fixes the problem for me.
The first thing I noticed is that if we look up
"jsonrpc-connection", Help page tells us that it is a
native-compiled function, which is the hint to my following
attempts because in my configurations packages are only
byte-complied and not native-compiled, while built-ins are
native-compiled. This can be quickly checked if you open the
jsonrpc.elc file. (and I believe that it is the same case for the
upstream Guix)
Also, if you visit the "jsonrpc-connection"'s class Help page, it
shows that it does not have a slot named
"events-buffer-config". Instead it has
"events-buffer-scrollback-size", which reflects the corresponding
file in 29.3 built-in.
So my guess is that Emacs somehow prefers the native-compiled
version (from the built-in) over the byte-compiled version (from
the package), even if the latter is newer. I do have "(setq
load-prefer-newer t)" in my early-init.el, but it still works that
way. I'm not sure why the package loading works as expected before
recent updates in Guix though.
This bug report was last modified 55 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.