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: Eason Huang <aqua0210 <at> foxmail.com> To: 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 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. ---- 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.