On Tue, Nov 28, 2023, 15:48 Stefan Monnier wrote: > >> diff --git a/lisp/jsonrpc.el b/lisp/jsonrpc.el > >> index 52ffb220d8b..4298d75c5bf 100644 > >> --- a/lisp/jsonrpc.el > >> +++ b/lisp/jsonrpc.el > >> @@ -71,6 +71,7 @@ jsonrpc-connection > >> :accessor jsonrpc--request-continuations > >> :documentation "A hash table of request ID to continuation > lambdas.") > >> (-events-buffer > >> + :initform nil > >> :accessor jsonrpc--events-buffer > >> :documentation "A buffer pretty-printing the JSONRPC events") > >> (-events-buffer-scrollback-size > > > > Seem sensible, and feel free to push, please. > > > > But it'd also be nice to have a backtrace to that error to > > Have you tried the recipe sent by Mou Tong? > No. Didn't have the chance. > see why jsonrpc.el is trying to access the jsonrpc--events-buffer > > "too early". > > Not sure what you mean by "too early". Where is this slot filled? > No, I meant where it is read. The only place I see is in `jsonrpc-events-buffer` where we always read > it before setting it. I don't have the code in front of me, but ok, so a lazy slot. So maybe another fix would be to put a :before in the accessor generic. Then the accessor could lose the '--', and simplify things. AFAIR this is a standard CLOS technique for lazy slots. But the nil initial value works fine too. João