diff options
author | João Távora <joaotavora@gmail.com> | 2019-11-05 23:37:30 +0000 |
---|---|---|
committer | João Távora <joaotavora@gmail.com> | 2019-11-05 23:37:53 +0000 |
commit | a8dbb7cc865f227a39708df3fe8d24e6f52b6e28 (patch) | |
tree | 959d62eb6ea6e11d2660a31b1f4f666b46e62015 /lisp | |
parent | fbcfee3ae492922abc34e62381354c7d8b989fea (diff) | |
download | emacs-a8dbb7cc865f227a39708df3fe8d24e6f52b6e28.tar.gz emacs-a8dbb7cc865f227a39708df3fe8d24e6f52b6e28.tar.bz2 emacs-a8dbb7cc865f227a39708df3fe8d24e6f52b6e28.zip |
Follow JSONRPC spec by not sending :result field on errors
Also don't send :error field on non-errors.
* lisp/jsonrpc.el (jsonrpc--reply): Don't send :result and :error
if none supplied.
(Version): Bump to 1.0.8
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/jsonrpc.el | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/lisp/jsonrpc.el b/lisp/jsonrpc.el index 41cd84627be..abab445fe5c 100644 --- a/lisp/jsonrpc.el +++ b/lisp/jsonrpc.el @@ -5,7 +5,7 @@ ;; Author: João Távora <joaotavora@gmail.com> ;; Keywords: processes, languages, extensions ;; Package-Requires: ((emacs "25.2")) -;; Version: 1.0.7 +;; Version: 1.0.8 ;; This is an Elpa :core package. Don't use functionality that is not ;; compatible with Emacs 25.2. @@ -460,9 +460,13 @@ With optional CLEANUP, kill any associated buffers." (json-null nil)) (json-encode object))))) -(cl-defun jsonrpc--reply (connection id &key (result nil result-supplied-p) error) +(cl-defun jsonrpc--reply + (connection id &key (result nil result-supplied-p) (error nil error-supplied-p)) "Reply to CONNECTION's request ID with RESULT or ERROR." - (jsonrpc-connection-send connection :id id :result result :error error)) + (apply #'jsonrpc-connection-send connection + `(:id ,id + ,@(and result-supplied-p `(:result ,result)) + ,@(and error-supplied-p `(:error ,error))))) (defun jsonrpc--call-deferred (connection) "Call CONNECTION's deferred actions, who may again defer themselves." |