GNU bug report logs -
#70927
30.0.50; track-changes assertion when shutting down eglot
Previous Next
Reported by: Steven Allen <steven <at> stebalien.com>
Date: Mon, 13 May 2024 22:22:02 UTC
Severity: normal
Found in version 30.0.50
Done: Stefan Monnier <monnier <at> iro.umontreal.ca>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
> Date: Mon, 13 May 2024 15:21:37 -0700
> From: Steven Allen via "Bug reports for GNU Emacs,
> the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
>
>
> When `eglot-autoshutdown` is set, killing eglot buffers fails with a
> track-changes assertion because, from what I can tell,
> `eglot--signal-textDocument/didChange` is called when
> `eglot--track-changes` is `nil`.
>
> Backtrace:
>
> cl--assertion-failed((memq id track-changes--trackers))
> track-changes-fetch(nil #<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_136>)
> eglot--track-changes-fetch(nil)
> eglot--signal-textDocument/didChange()
> eglot--request(#<eglot-lsp-server eglot-lsp-server-10d3578e408f> :shutdown nil :timeout 1.5)
> eglot-shutdown(#<eglot-lsp-server eglot-lsp-server-10d3578e408f>)
> eglot--managed-mode(-1)
> eglot--managed-mode-off()
> kill-current-buffer()
> funcall-interactively(kill-current-buffer)
> command-execute(kill-current-buffer)
>
> Reproduction:
>
> 1. Start emacs with `emacs -Q`.
> 2. Run `M-: (setopt eglot-autoshutdown t) RET`
> 3. Open any file you have an LSP server for and run `M-x eglot RET`.
> 4. Kill the buffer.
Thanks, I added Stefan and João to the discussion.
This bug report was last modified 1 year and 6 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.