[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 02d88e36e91: Unbreak Eglot, Jsonrpc as EIEIO inches closer to CLO
From: |
João Távora |
Subject: |
master 02d88e36e91: Unbreak Eglot, Jsonrpc as EIEIO inches closer to CLOS (bug#67480) |
Date: |
Tue, 28 Nov 2023 19:35:14 -0500 (EST) |
branch: master
commit 02d88e36e911e76842369e565ca2dae9a7922f7b
Author: João Távora <joaotavora@gmail.com>
Commit: João Távora <joaotavora@gmail.com>
Unbreak Eglot, Jsonrpc as EIEIO inches closer to CLOS (bug#67480)
EIEIO is an innacurate emulation of CLOS in many aspects and one of
them in accessor definition. Before this commit
commit 6c47931a1ad4de4af3f147b9604169c2441100fe
Author: Brandon <brandon.irizarry@gmail.com>
Date: Sat Nov 4 17:11:32 2023 -0400
Make EIEIO ':accessor' behave like ':reader' when reading (bug#66938)
An :initform-less, non-:initarg'ed slot with be read using an
:accessor which would just return nil. This is EIEIO specific of
course, but it made for (my) sloppy programming in jsonrpc.el and
eglot.el.
Tightening up the rules a bit meant these things broke and now I'm
fixing them.
* lisp/jsonrpc.el (jsonrpc-connection): Add a bunch of :initform nil
(jsonrpc-process-connection): Add a bunch of :initform nil
* lisp/progmodes/eglot.el (eglot-lsp-server): Add a bunch of :initform nil
---
lisp/jsonrpc.el | 3 +++
lisp/progmodes/eglot.el | 5 +++++
2 files changed, 8 insertions(+)
diff --git a/lisp/jsonrpc.el b/lisp/jsonrpc.el
index 52ffb220d8b..3cba9636e02 100644
--- a/lisp/jsonrpc.el
+++ b/lisp/jsonrpc.el
@@ -64,6 +64,7 @@
:initarg :notification-dispatcher
:documentation "Dispatcher for remotely invoked notifications.")
(last-error
+ :initform nil
:accessor jsonrpc-last-error
:documentation "Last JSONRPC error message received from endpoint.")
(-request-continuations
@@ -71,6 +72,7 @@
: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
@@ -353,6 +355,7 @@ ignored."
:initarg :process :accessor jsonrpc--process
:documentation "Process object wrapped by the this connection.")
(-expected-bytes
+ :initform nil
:accessor jsonrpc--expected-bytes
:documentation "How many bytes declared by server.")
(-on-shutdown
diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el
index 48ea33c3ee1..d410367f902 100644
--- a/lisp/progmodes/eglot.el
+++ b/lisp/progmodes/eglot.el
@@ -977,15 +977,19 @@ ACTION is an LSP object of either `CodeAction' or
`Command' type."
:accessor eglot--project-nickname
:reader eglot-project-nickname)
(languages
+ :initform nil
:documentation "Alist ((MODE . LANGUAGE-ID-STRING)...) of managed
languages."
:accessor eglot--languages)
(capabilities
+ :initform nil
:documentation "JSON object containing server capabilities."
:accessor eglot--capabilities)
(server-info
+ :initform nil
:documentation "JSON object containing server info."
:accessor eglot--server-info)
(shutdown-requested
+ :initform nil
:documentation "Flag set when server is shutting down."
:accessor eglot--shutdown-requested)
(project
@@ -1002,6 +1006,7 @@ ACTION is an LSP object of either `CodeAction' or
`Command' type."
:documentation "Map (DIR -> (WATCH ID1 ID2...)) for
`didChangeWatchedFiles'."
:initform (make-hash-table :test #'equal) :accessor eglot--file-watches)
(managed-buffers
+ :initform nil
:documentation "List of buffers managed by server."
:accessor eglot--managed-buffers)
(saved-initargs
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master 02d88e36e91: Unbreak Eglot, Jsonrpc as EIEIO inches closer to CLOS (bug#67480),
João Távora <=