]> git.eshelyaron.com Git - emacs.git/commit
Jsonrpc: rework fix for bug#60088
authorJoão Távora <joaotavora@gmail.com>
Mon, 11 Dec 2023 00:01:03 +0000 (00:01 +0000)
committerJoão Távora <joaotavora@gmail.com>
Thu, 14 Dec 2023 00:55:52 +0000 (00:55 +0000)
commit60473c4d90a6cdce3f06e183809f5be440dd8797
tree858f5edd85ebd3cfae042a97d39a6b53f6665c38
parentd2f95ea44c8ea408f5c11d89e40982376ae268cc
Jsonrpc: rework fix for bug#60088

Try to decouple receiving text and processing messages in the event
loop.  This should allow for requests within requests in both Eglot
and the Dape extension (https://github.com/svaante/dape).

jsonrpc-connection-receive is now called from timers after the process
filter finished.  Because of this, a detail is that any serialization
errors are now thrown from timers instead of the synchronous process
filter, and there's no good way to test this in ert, so a test has
been deleted.

* lisp/jsonrpc.el (jsonrpc--process-filter): Rework.

* test/lisp/jsonrpc-tests.el (json-el-cant-serialize-this): Delete test.
lisp/jsonrpc.el
test/lisp/jsonrpc-tests.el