Package: emacs;
Reported by: Eason Huang <aqua0210 <at> foxmail.com>
Date: Sun, 22 Jun 2025 07:13:02 UTC
Severity: normal
Found in version 31.0.50
View this message in rfc822 format
From: Eli Zaretskii <eliz <at> gnu.org> To: Eason Huang <aqua0210 <at> foxmail.com>, João Távora <joaotavora <at> gmail.com>, Spencer Baugh <sbaugh <at> janestreet.com> Cc: 78862 <at> debbugs.gnu.org Subject: bug#78862: 31.0.50; Eglot couldn't refresh Flymake diagnostics on Rust project Date: Sun, 22 Jun 2025 10:59:27 +0300
> From: Eason Huang <aqua0210 <at> foxmail.com> > Date: Sun, 22 Jun 2025 15:05:06 +0800 > > Hello Emacs dev, > > Recently, I found that if flymake-mode enabled before eglot,eglot can not > refresh the Flymake diagnostics. > Disable flymake with `M-x flymake-mode`, and then enable eglot > with `M-x eglot` can fix the issue. Or with the below snippet can fix > it: > > ``` > (with-eval-after-load 'eglot > (add-hook 'eglot-managed-mode-hook (lambda () > (flymake-mode -1) > (flymake-mode 1)))) > > ``` > > Steps to reproduce: > > 1. put below config into the init.el file > ``` > (use-package flymake > :hook (prog-mode . flymake-mode)) > > (use-package rust-mode > :ensure t > :defer t > :custom (rust-mode-treesitter-derive (and (fboundp 'treesit-available-p) > (treesit-available-p)))) > ``` > 2. Start Emacs 31 > 3. Open any Rust project with a dependency > 4. Open any Rust file in a rust project(make sure it use a dependency), > such as main.rs, then flymake will report errors. Because I don't have > flymake rust backends,the errors is expected. > > 5. Make sure `rust-analyzer` is in the PATH,My rust toolchain is as > below: > > ``` > rustc --version > rustc 1.87.0 (17067e9ac 2025-05-09) > > rust-analyzer --version > rust-analyzer 1.87.0 (17067e9ac6d 2025-05-09) > `` > 6. Start eglot with `M-x eglot`, now the errors still exist. This is the > issue. > > 7. `M-x flymake-mode` to disable flymake > 8. `M-x eglot-reconnect` will refresh the Flymake diagnostics,and no > errors reported if your Rust project is compiled. > > > The issue only happened on Emacs 31, it works as expected on Emacs 30. Thanks, I hope João and Spencer will have comments or suggestions about this. > ---- > Eason Huang > > > In GNU Emacs 31.0.50 (build 1, x86_64-apple-darwin24.5.0, NS > appkit-2575.60 Version 15.5 (Build 24F74), git sha1 c916f816e0f) of > 2025-06-22 built on 192.168.1.9 > Windowing system distributor 'Apple', version 10.3.2575 > System Description: macOS 15.5 > > Configured using: > 'configure --without-native-compilation --without-dbus > 'CPPFLAGS=-I/opt/local/include > -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk' > 'LDFLAGS=-L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-rpath > /opt/local/lib/gcc14 > -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk > -arch x86_64'' > > Configured features: > ACL GIF GLIB GMP GNUTLS JPEG LCMS2 LIBXML2 MODULES NOTIFY KQUEUE NS > PDUMPER PNG RSVG SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER > WEBP XIM ZLIB > > Important settings: > value of $LANG: zh_CN.UTF-8 > locale-coding-system: utf-8-unix > > Major mode: Elisp/l > > Minor modes in effect: > flymake-mode: t > tooltip-mode: t > global-eldoc-mode: t > eldoc-mode: t > show-paren-mode: t > electric-indent-mode: t > mouse-wheel-mode: t > tool-bar-mode: t > menu-bar-mode: t > file-name-shadow-mode: t > global-font-lock-mode: t > font-lock-mode: t > blink-cursor-mode: t > minibuffer-regexp-mode: t > line-number-mode: t > transient-mark-mode: t > auto-composition-mode: t > auto-encryption-mode: t > auto-compression-mode: t > > Load-path shadows: > None found. > > Features: > (shadow sort mail-extr emacsbug message yank-media puny rfc822 mml > mml-sec epa derived epg rfc6068 epg-config gnus-util mm-decode mm-bodies > mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail > rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils noutline > outline eglot tree-widget wid-edit external-completion jsonrpc xref diff > ert pp ewoc debug backtrace find-func filenotify imenu pcase vc-git > diff-mode track-changes easy-mmode files-x vc-dispatcher rust-utils > rust-mode-treesitter rust-ts-mode rx c-ts-common treesit rust-mode > rust-playpen rust-compile rust-cargo rust-common rust-rustfmt dired-aux > dired dired-loaddefs time-date checkdoc lisp-mnt flymake project compile > text-property-search comint ansi-osc ansi-color ring warnings thingatpt > use-package-ensure cl-extra help-mode use-package-core emacs-git-version > rust-mode-autoloads package browse-url xdg url url-proxy url-privacy > url-expand url-methods url-history url-cookie generate-lisp-file > url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq > eieio eieio-core cl-macs icons password-cache json subr-x map byte-opt > gv bytecomp byte-compile url-vars cl-loaddefs cl-lib china-util rmc > iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook > vc-hooks lisp-float-type elisp-mode mwheel term/ns-win ns-win > ucs-normalize mule-util term/common-win tool-bar dnd fontset image > regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode > prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu > timer select scroll-bar mouse jit-lock font-lock syntax font-core > term/tty-colors frame minibuffer nadvice seq simple cl-generic > indonesian philippine cham georgian utf-8-lang misc-lang vietnamese > tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek > romanian slovak czech european ethiopic indian cyrillic chinese > composite emoji-zwj charscript charprop case-table epa-hook > jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs > theme-loaddefs faces cus-face macroexp files window text-properties > overlay sha1 md5 base64 format env code-pages mule custom widget keymap > hashtable-print-readable backquote threads kqueue cocoa ns lcms2 > multi-tty make-network-process tty-child-frames emacs) > > Memory information: > ((conses 16 124358 19418) (symbols 48 13713 0) (strings 32 38113 1660) > (string-bytes 1 1006591) (vectors 16 25656) > (vector-slots 8 302210 13180) (floats 8 63 99) (intervals 56 820 2) > (buffers 1064 21)) > > -- > Eason Huang > > > > >
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.