1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-27 07:37:33 +00:00

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
This commit is contained in:
João Távora 2019-11-05 23:37:30 +00:00
parent fbcfee3ae4
commit a8dbb7cc86

View File

@ -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."