]> git.eshelyaron.com Git - emacs.git/commitdiff
* eglot.el (eglot-shutdown): accept timeout param.
authorJoão Távora <joaotavora@gmail.com>
Wed, 13 Jun 2018 11:46:36 +0000 (12:46 +0100)
committerJoão Távora <joaotavora@gmail.com>
Wed, 13 Jun 2018 11:53:40 +0000 (12:53 +0100)
lisp/progmodes/eglot.el

index d9fbd331c1d03da3d99a2cdba7b0217d8926ac79..e438c492dd9346b9cf4cb7aaf344d7a1973e5007 100644 (file)
@@ -1039,14 +1039,14 @@ Uses THING, FACE, DEFS and PREPEND."
 \f
 ;;; Protocol implementation (Requests, notifications, etc)
 ;;;
-(defun eglot-shutdown (server &optional _interactive)
+(defun eglot-shutdown (server &optional _interactive timeout)
   "Politely ask SERVER to quit.
-Forcefully quit it if it doesn't respond.  Don't leave this
-function with the server still running."
+Forcefully quit it if it doesn't respond within TIMEOUT seconds.
+Don't leave this function with the server still running."
   (interactive (list (eglot--current-server-or-lose) t))
   (eglot--message "Asking %s politely to terminate" (eglot--name server))
   (unwind-protect
-      (let ((eglot-request-timeout 3))
+      (let ((eglot-request-timeout (or timeout 1.5)))
         (setf (eglot--shutdown-requested server) t)
         (eglot--request server :shutdown nil)
         ;; this one is supposed to always fail, hence ignore-errors