]> git.eshelyaron.com Git - emacs.git/commitdiff
Send exit as a notification
authorFelicián Németh <felician.nemeth@gmail.com>
Sat, 4 Jan 2020 15:55:00 +0000 (16:55 +0100)
committerFelicián Németh <felician.nemeth@gmail.com>
Sun, 5 Jan 2020 13:26:40 +0000 (14:26 +0100)
This is what the specification requires.  @PerMildner, thanks for
reporting and analyzing the issue.

* eglot.el (eglot-shutdown): Use `notify' instead of `request' for the
`exit' LSP method.

GitHub-reference: fix https://github.com/joaotavora/eglot/issues/277

lisp/progmodes/eglot.el

index e952b912d16c863bbec57fc2a3b12379914c6713..888eacc690a8a33fe71c8d41417e1b5d5713101b 100644 (file)
@@ -596,11 +596,8 @@ SERVER.  ."
       (progn
         (setf (eglot--shutdown-requested server) t)
         (jsonrpc-request server :shutdown nil :timeout (or timeout 1.5))
-        ;; this one is supposed to always fail, because it asks the
-        ;; server to exit itself. Hence ignore-errors.
-        (ignore-errors (jsonrpc-request server :exit nil :timeout 1)))
-    ;; Now ask jsonrpc.el to shut down the server (which under normal
-    ;; conditions should return immediately).
+        (jsonrpc-notify server :exit nil))
+    ;; Now ask jsonrpc.el to shut down the server.
     (jsonrpc-shutdown server (not preserve-buffers))
     (unless preserve-buffers (kill-buffer (jsonrpc-events-buffer server)))))