Commit a8dbb7cc authored by João Távora's avatar João Távora

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
parent fbcfee3a
Pipeline #3945 failed with stage
in 90 minutes and 2 seconds
......@@ -5,7 +5,7 @@
;; Author: João Távora <>
;; 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."
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment