emacs-diffs
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]