]> git.eshelyaron.com Git - emacs.git/commitdiff
Eglot: more leniently handle 'window/showMessageRequest'
authorJoão Távora <joaotavora@gmail.com>
Wed, 22 Mar 2023 10:16:17 +0000 (10:16 +0000)
committerJoão Távora <joaotavora@gmail.com>
Thu, 23 Mar 2023 21:12:08 +0000 (21:12 +0000)
Some servers mess up this message's arguments.

* lisp/progmodes/eglot.el (eglot-handle-request): Fix.

lisp/progmodes/eglot.el

index 058bcec1489ce410e5d4854ac3413e108d0e0be1..9fd12d174da92410a52231c292f204a8904b088a 100644 (file)
@@ -2136,13 +2136,14 @@ COMMAND is a symbol naming the command."
                   type message))
 
 (cl-defmethod eglot-handle-request
-  (_server (_method (eql window/showMessageRequest)) &key type message actions)
+  (_server (_method (eql window/showMessageRequest))
+           &key type message actions &allow-other-keys)
   "Handle server request window/showMessageRequest."
   (let* ((actions (append actions nil)) ;; gh#627
          (label (completing-read
                  (concat
                   (format (propertize "[eglot] Server reports (type=%s): %s"
-                                      'face (if (<= type 1) 'error))
+                                      'face (if (or (not type) (<= type 1)) 'error))
                           type message)
                   "\nChoose an option: ")
                  (or (mapcar (lambda (obj) (plist-get obj :title)) actions)