> As far as I can see, the testDocument/didChange request should not be
> there.
Either the `didClose/didOpen` should not be there, or the `didChange` should
not be there. The problem is that we have both.
Can you try the patch below, which I suspect should fix your problem?
It should get rid of the `didChange` in your recipe.
We could also change Eglot so it doesn't do `didClose/didOpen` upon
`revert-buffer` (in which case it should/will do the `didChange`), but
that should be a separate concern.
Stefan
diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el
index 82e99a2c920..a2c9f73fc73 100644
--- a/lisp/progmodes/eglot.el
+++ b/lisp/progmodes/eglot.el
@@ -2813,6 +2813,8 @@ eglot--signal-textDocument/didChange
(defun eglot--signal-textDocument/didOpen ()
"Send textDocument/didOpen to server."
+ ;; Flush any potential pending change.
+ (eglot--track-changes-fetch eglot--track-changes)
(setq eglot--recent-changes nil
eglot--versioned-identifier 0
eglot--TextDocumentIdentifier-cache nil)