emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master f20fe3e11a9 1/7: Eglot: more leniently handle 'window/showMessage


From: João Távora
Subject: master f20fe3e11a9 1/7: Eglot: more leniently handle 'window/showMessageRequest'
Date: Thu, 23 Mar 2023 17:17:42 -0400 (EDT)

branch: master
commit f20fe3e11a96defe69e7cfed801a047be1778b51
Author: João Távora <joaotavora@gmail.com>
Commit: João Távora <joaotavora@gmail.com>

    Eglot: more leniently handle 'window/showMessageRequest'
    
    Some servers mess up this message's arguments.
    
    * lisp/progmodes/eglot.el (eglot-handle-request): Fix.
---
 lisp/progmodes/eglot.el | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el
index 058bcec1489..9fd12d174da 100644
--- a/lisp/progmodes/eglot.el
+++ b/lisp/progmodes/eglot.el
@@ -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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]