bug#81514: 32.0.50; Eglot messages progress reporter shows errors
Eli Zaretskii <[email protected]>
| Newsgroups | gmane.emacs.bugs |
|---|---|
| Message-ID | <[email protected]> |
> From: "Jacek Świerk" <[email protected]> > Date: Wed, 29 Jul 2026 09:41:39 +0200 > > When Eglot is configured with `eglot-report-progress` set to `messages`, it > reports an error while trying to use the progress reporter in a nontrivial > project. > > Reproduction using rust-analyzer: > 1. Clone https://github.com/BurntSushi/ripgrep > 2. Open ripgrep/crates/core/main.rs > 3. M-: (setopt eglot-report-progress 'messages) > 4. M-x toggle-debug-on-error > 5. M-x eglot > > Debugger entered--Lisp error: (wrong-type-argument sequencep 100) > progress-reporter-echo-area((7 . [1785304002.532535 nil nil "[eglot] > ripgrep rustAnalyzer/Building compile-time-deps: Building > compile-time-deps..." 1 0.2 nil nil]) 7 100) > progress-reporter-do-update((7 . [1785304002.532535 nil nil "[eglot] > ripgrep rustAnalyzer/Building compile-time-deps: Building > compile-time-deps..." 1 0.2 nil nil]) 100 nil) > eglot--reporter-update((7 . [1785304002.532535 nil nil "[eglot] > ripgrep rustAnalyzer/Building compile-time-deps: Building > compile-time-deps..." 1 0.2 nil nil]) 100 nil) > #f(compiled-function (arg1 arg2 arg3 arg4 &rest rest) #<bytecode > 0x1c7b74ccff3232d6>)(#<eglot-lsp-server 1008c31da7cc> > "rustAnalyzer/Building compile-time-deps" 100 nil) > #f(compiled-function (arg1 arg2 &rest rest) "Handle $/progress > notification identified by TOKEN from SERVER." #<bytecode > -0x35b89fe1a323862>)(#<eglot-lsp-server 1008c31da7cc> $/progress :token > "rustAnalyzer/Building compile-time-deps" :value (:kind "end")) > apply(#f(compiled-function (arg1 arg2 &rest rest) "Handle $/progress > notification identified by TOKEN from SERVER." #<bytecode > -0x35b89fe1a323862>) #<eglot-lsp-server 1008c31da7cc> $/progress (:token > "rustAnalyzer/Building compile-time-deps" :value (:kind "end"))) > eglot-handle-notification(#<eglot-lsp-server 1008c31da7cc> $/progress > :token "rustAnalyzer/Building compile-time-deps" :value (:kind "end")) > apply(eglot-handle-notification #<eglot-lsp-server 1008c31da7cc> > $/progress (:token "rustAnalyzer/Building compile-time-deps" :value > (:kind "end"))) > #f(compiled-function (server method params) #<bytecode > 0x1f1068c682e838aa>)(#<eglot-lsp-server 1008c31da7cc> $/progress (:token > "rustAnalyzer/Building compile-time-deps" :value (:kind "end"))) > jsonrpc-connection-receive(#<eglot-lsp-server 1008c31da7cc> (:jsonrpc > "2.0" :method "$/progress" :params (:token "rustAnalyzer/Building > compile-time-deps" :value (:kind "end")))) > #f(compiled-function (conn msg) #<bytecode > 0x1bafe9b6d4ce09dc>)(#<eglot-lsp-server 1008c31da7cc> (:jsonrpc "2.0" > :method "$/progress" :params (:token "rustAnalyzer/Building > compile-time-deps" :value (:kind "end")))) > apply(#f(compiled-function (conn msg) #<bytecode 0x1bafe9b6d4ce09dc>) > (#<eglot-lsp-server 1008c31da7cc> (:jsonrpc "2.0" :method "$/progress" > :params (:token "rustAnalyzer/Building compile-time-deps" :value (:kind > "end"))))) > timer-event-handler([t 27241 37827 781121 nil #f(compiled-function > (conn msg) #<bytecode 0x1bafe9b6d4ce09dc>) (#<eglot-lsp-server > 1008c31da7cc> (:jsonrpc "2.0" :method "$/progress" :params (:token > "rustAnalyzer/Building compile-time-deps" :value (:kind "end")))) nil > 734000 nil]) > > This seems to be introduced by the following commit > https://github.com/emacs-mirror/emacs/commit/b6849229003f214570acedfa7e2755051c0e4305 > and most likely affects Emacs 31 as well. Thanks. Stéphane, please look into fixing this.