]> git.eshelyaron.com Git - emacs.git/commitdiff
Unbreak Eglot, Jsonrpc as EIEIO inches closer to CLOS (bug#67480)
authorJoão Távora <joaotavora@gmail.com>
Wed, 29 Nov 2023 00:33:09 +0000 (18:33 -0600)
committerJoão Távora <joaotavora@gmail.com>
Wed, 29 Nov 2023 00:33:09 +0000 (18:33 -0600)
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
lisp/progmodes/eglot.el

index 52ffb220d8b920e2a8aeda43e8bd8d96de7f9564..3cba9636e02df537974d3750e46c3d0f71ce1090 100644 (file)
@@ -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
index 48ea33c3ee1ce66755888d18cbb655fb730ce381..d410367f9025b66cbea048430990738e9a8cb458 100644 (file)
@@ -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