branch: externals/eglot
commit 5874af97c2d17b1ffacba8d3f584662ef9aedbc8
Author: João Távora <joaotav...@gmail.com>
Commit: João Távora <joaotav...@gmail.com>

    Fix deferred actions (forgot the crucial non-local exit)
    
    Noticed by Filipp Gunbin <fgun...@fastmail.fm>
    
    * jsonrpc.el (jsonrpc--async-request-1): Forgot the non-local
    exit.
---
 jsonrpc.el | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/jsonrpc.el b/jsonrpc.el
index 2bcff2e..1bd71c1 100644
--- a/jsonrpc.el
+++ b/jsonrpc.el
@@ -621,8 +621,9 @@ TIMEOUT is nil)."
                                              (apply #'jsonrpc-async-request
                                                     connection
                                                     method params args)))))
-                       (or timer (funcall make-timer)) id)
-                 (jsonrpc--deferred-actions connection))))
+                       (or timer (setq timer (funcall make-timer))) id)
+                 (jsonrpc--deferred-actions connection))
+        (cl-return-from jsonrpc--async-request-1 (list nil timer))))
     ;; Really send it
     ;;
     (jsonrpc-connection-send connection (jsonrpc-obj :jsonrpc "2.0"

Reply via email to