]> git.eshelyaron.com Git - emacs.git/commitdiff
Eglot: don't auto-shutdown when reverting of single managed buffer
authorJoão Távora <joaotavora@gmail.com>
Wed, 29 Jan 2025 08:37:37 +0000 (08:37 +0000)
committerEshel Yaron <me@eshelyaron.com>
Thu, 30 Jan 2025 18:13:20 +0000 (19:13 +0100)
When eglot-autoshutdown is t and the only reason we're
considering it is because of a revert (which tears down Eglot's
minor mode as if by killing), detect that situation and
purposedly cancel the shutdown.

* lisp/progmodes/eglot.el (eglot--managed-mode): Tweak.

(cherry picked from commit 142fe5ace4e5d4ed667505f73fc95757a764d530)

lisp/progmodes/eglot.el

index e94bdc1ce5d05bc4cb1f25cb94eb3458a5009c93..8dd75612c8c7b56191baa4455a8347684de37e7e 100644 (file)
@@ -2144,7 +2144,9 @@ Use `eglot-managed-p' to determine if current buffer is managed.")
         (setf (eglot--managed-buffers server)
               (delq (current-buffer) (eglot--managed-buffers server)))
         (when (and eglot-autoshutdown
-                   (null (eglot--managed-buffers server)))
+                   (null (eglot--managed-buffers server))
+                   ;; Don't shutdown if up again soon.
+                   (not revert-buffer-in-progress-p))
           (eglot-shutdown server)))))))
 
 (defun eglot--managed-mode-off ()