emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[elpa] externals/eglot 489182d 24/69: New jsonrpc-error error type


From: João Távora
Subject: [elpa] externals/eglot 489182d 24/69: New jsonrpc-error error type
Date: Fri, 22 Jun 2018 11:54:57 -0400 (EDT)

branch: externals/eglot
commit 489182d53e11c98b859fe8baaf8f2b3c04c39fb5
Author: João Távora <address@hidden>
Commit: João Távora <address@hidden>

    New jsonrpc-error error type
    
    * jsonrpc.el (usage example): update to use jsonrpc-error.
    (jsonrpc-error): New error type.
    (jsonrpc-error, jsonrpc-request): Signal it.
---
 jsonrpc.el | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

diff --git a/jsonrpc.el b/jsonrpc.el
index cda035e..f801931 100644
--- a/jsonrpc.el
+++ b/jsonrpc.el
@@ -76,13 +76,15 @@
 ;;               (message "Sadly, server reports %s: %s"
 ;;                        code message)))
 ;;
+;;;; Usage example:
+;;
 ;; Finally, here's an example Emacs JSONRPC server that offers a (very
 ;; small) subset of Elisp for remote calling:
 ;;
-;;   (defvar server) (defvar server-endpoint)
+;;   (defvar server-server) (defvar server-endpoint)
 ;;   (defvar server-allowed-functions '(+ - * / vconcat append sit-for))
 ;;
-;;   (setq server
+;;   (setq server-server
 ;;         (make-network-process
 ;;          :name "Emacs RPC server" :server t :host "localhost" :service 9393
 ;;          :log (lambda (_server client _message)
@@ -90,9 +92,9 @@
 ;;                  (process-name client) client
 ;;                  (lambda (proc method id params)
 ;;                    (unless (memq method server-allowed-functions)
-;;                      (signal 'error `((jsonrpc-error-message
-;;                                        . "Sorry, this isn't allowed")
-;;                                       (jsonrpc-error-code . 32601))))
+;;                      (signal 'jsonrpc-error `((jsonrpc-error-message
+;;                                                . "Sorry, this isn't 
allowed")
+;;                                               (jsonrpc-error-code . 
32601))))
 ;;                    (jsonrpc-reply proc id :result
 ;;                                   (apply method (append params nil))))))))
 
@@ -135,12 +137,15 @@
   (or (jsonrpc-current-process)
       (jsonrpc-error "No current JSON-RPC process")))
 
+(define-error 'jsonrpc-error "jsonrpc-error")
+
 (defun jsonrpc-error (format &rest args)
   "Error out with FORMAT and ARGS.
 If invoked inside a dispatcher function, this function is suitable
 for replying to the remote endpoint with a -32603 error code and
 FORMAT as the message."
-  (signal 'error (format "[jsonrpc] %s" (apply #'format format args))))
+  (signal 'error
+          (list (apply #'format-message (concat "[jsonrpc] " format) args))))
 
 (defun jsonrpc-message (format &rest args)
   "Message out with FORMAT with ARGS."
@@ -618,9 +623,9 @@ DEFERRED is passed to `jsonrpc-async-request', which see."
               (when id (remhash id (jsonrpc--request-continuations proc)))
               (when timer (cancel-timer timer))))))
     (when (eq 'error (car retval))
-      (signal 'error
+      (signal 'jsonrpc-error
               (cons
-               (format "[jsonrpc] jsonrpc-request (%s) failed:" (car 
id-and-timer))
+               (format "request id=%s failed:" (car id-and-timer))
                (cdr retval))))
     (cadr retval)))
 



reply via email to

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