unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: "João Távora" <joaotavora@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: Dov Grobgeld <dov.grobgeld@gmail.com>, 73436@debbugs.gnu.org
Subject: bug#73436: eglot-1.17 fails to run in emacs 29.4
Date: Mon, 23 Sep 2024 19:02:02 +0100	[thread overview]
Message-ID: <CALDnm51yjhtgHeMEk_1ffhQA5sSfMfzLtDa45+7=W=TVu7Pzbw@mail.gmail.com> (raw)
In-Reply-To: <861q1ah99i.fsf@gnu.org>

[-- Attachment #1: Type: text/plain, Size: 27460 bytes --]

Dov, I don't know where you may have obtained the idea that this
eval-buffer activation method is supported. It isn't.

Eglot has dependencies, so either use package.el facilities to ensure that
they are installed and activated or use Emacs master. IIRC, in Emacs 29.4
one can use M-x eglot-upgrade-eglot to get and activate the latest version
from GNU Elpa (or GNU-devel Elpa) correctly. Other methods are not
supported.


On Mon, Sep 23, 2024, 12:58 Eli Zaretskii <eliz@gnu.org> wrote:

> > From: Dov Grobgeld <dov.grobgeld@gmail.com>
> > Date: Mon, 23 Sep 2024 11:58:03 +0300
> >
> > Running the latest version of eglot, version 1.17, installed by
> > package-list-packages, on emacs 29.4 fails.
>
> Adding João.
>
> > Here's what I did:
> >
> > $ cd /tmp/eglot-1.17
> > $ emacs -Q -nw eglot.el
> >
> > and then the interactive commands
> >
> > M-x eval-buffer
> > C-x C-f hello.c
> > C-: (setq debug-on-error t)
> > M-x eglot
> >
> > This resulted in an error. Here is the stack trace:
> >
> > Debugger entered--Lisp error: (invalid-slot-name "#<eglot-lsp-server
> > eglot-lsp-server-93e4e78>" :events-buffer-config)
> >   signal(invalid-slot-name ("#<eglot-lsp-server
> > eglot-lsp-server-93e4e78>" :events-buffer-config))
> >   slot-missing(#<eglot-lsp-server eglot-lsp-server-93e4e78>
> > :events-buffer-config oset (:size 2000000 :format full))
> >   #f(compiled-function (obj slots) "Set slots of OBJ with SLOTS which
> > is a list of name/value pairs.\nCalled from the constructor routine."
> > #<bytecode 0x4590eddf9051ddd>)(#<eglot-lsp-server
> > eglot-lsp-server-93e4e78> (:name "EGLOT (eglot-1.17/(c-mode c-ts-mode
> > c++-mode c++-t..." :events-buffer-config (:size 2000000 :format full)
> > :notification-dispatcher (closure ((fn . eglot-handle-notification))
> > (server method params) (let ((eglot--cached-server server)) (apply fn
> > server method (append params nil)))) :request-dispatcher (closure ((fn
> > . eglot-handle-request)) (server method params) (let
> > ((eglot--cached-server server)) (apply fn server method (append params
> > nil)))) :on-shutdown eglot--on-shutdown :process (closure ((contact
> > "/usr/bin/clangd") (server-info) (readable-name . "EGLOT
> > (eglot-1.17/(c-mode c-ts-mode c++-mode c++-t...")
> > tramp-ssh-controlmaster-options tramp-use-ssh-controlmaster-options)
> > nil (let ((default-directory default-directory)
> > (tramp-use-ssh-controlmaster-options 'suppress)
> > (tramp-ssh-controlmaster-options "-o ControlMaster=no -o
> > ControlPath=none")) (make-process :name readable-name :command (setq
> > server-info (eglot--cmd contact)) :connection-type 'pipe :coding
> > 'utf-8-emacs-unix :noquery t :stderr (get-buffer-create (format "*%s
> > stderr*" readable-name)) :file-handler t)))))
> >   apply(#f(compiled-function (obj slots) "Set slots of OBJ with SLOTS
> > which is a list of name/value pairs.\nCalled from the constructor
> > routine." #<bytecode 0x4590eddf9051ddd>) #<eglot-lsp-server
> > eglot-lsp-server-93e4e78> (:name "EGLOT (eglot-1.17/(c-mode c-ts-mode
> > c++-mode c++-t..." :events-buffer-config (:size 2000000 :format full)
> > :notification-dispatcher (closure ((fn . eglot-handle-notification))
> > (server method params) (let ((eglot--cached-server server)) (apply fn
> > server method (append params nil)))) :request-dispatcher (closure ((fn
> > . eglot-handle-request)) (server method params) (let
> > ((eglot--cached-server server)) (apply fn server method (append params
> > nil)))) :on-shutdown eglot--on-shutdown :process (closure ((contact
> > "/usr/bin/clangd") (server-info) (readable-name . "EGLOT
> > (eglot-1.17/(c-mode c-ts-mode c++-mode c++-t...")
> > tramp-ssh-controlmaster-options tramp-use-ssh-controlmaster-options)
> > nil (let ((default-directory default-directory)
> > (tramp-use-ssh-controlmaster-options 'suppress)
> > (tramp-ssh-controlmaster-options "-o ControlMaster=no -o
> > ControlPath=none")) (make-process :name readable-name :command (setq
> > server-info (eglot--cmd contact)) :connection-type 'pipe :coding
> > 'utf-8-emacs-unix :noquery t :stderr (get-buffer-create (format "*%s
> > stderr*" readable-name)) :file-handler t)))))
> >   shared-initialize(#<eglot-lsp-server eglot-lsp-server-93e4e78>
> > (:name "EGLOT (eglot-1.17/(c-mode c-ts-mode c++-mode c++-t..."
> > :events-buffer-config (:size 2000000 :format full)
> > :notification-dispatcher (closure ((fn . eglot-handle-notification))
> > (server method params) (let ((eglot--cached-server server)) (apply fn
> > server method (append params nil)))) :request-dispatcher (closure ((fn
> > . eglot-handle-request)) (server method params) (let
> > ((eglot--cached-server server)) (apply fn server method (append params
> > nil)))) :on-shutdown eglot--on-shutdown :process (closure ((contact
> > "/usr/bin/clangd") (server-info) (readable-name . "EGLOT
> > (eglot-1.17/(c-mode c-ts-mode c++-mode c++-t...")
> > tramp-ssh-controlmaster-options tramp-use-ssh-controlmaster-options)
> > nil (let ((default-directory default-directory)
> > (tramp-use-ssh-controlmaster-options 'suppress)
> > (tramp-ssh-controlmaster-options "-o ControlMaster=no -o
> > ControlPath=none")) (make-process :name readable-name :command (setq
> > server-info (eglot--cmd contact)) :connection-type 'pipe :coding
> > 'utf-8-emacs-unix :noquery t :stderr (get-buffer-create (format "*%s
> > stderr*" readable-name)) :file-handler t)))))
> >   #f(compiled-function (this &optional args) "Construct the new object
> > THIS based on ARGS.\nARGS is a property list where odd numbered
> > elements are tags, and\neven numbered elements are the values to store
> > in the tagged slot.\nIf you overload the `initialize-instance', there
> > you will need to\ncall `shared-initialize' yourself, or you can call
> > `call-next-method'\nto have this constructor called automatically.  If
> > these steps are\nnot taken, then new objects of your class will not
> > have their values\ndynamically set from ARGS." #<bytecode
> > -0x1f60eebd0e85d7f7>)(#<eglot-lsp-server eglot-lsp-server-93e4e78>
> > (:name "EGLOT (eglot-1.17/(c-mode c-ts-mode c++-mode c++-t..."
> > :events-buffer-config (:size 2000000 :format full)
> > :notification-dispatcher (closure ((fn . eglot-handle-notification))
> > (server method params) (let ((eglot--cached-server server)) (apply fn
> > server method (append params nil)))) :request-dispatcher (closure ((fn
> > . eglot-handle-request)) (server method params) (let
> > ((eglot--cached-server server)) (apply fn server method (append params
> > nil)))) :on-shutdown eglot--on-shutdown :process (closure ((contact
> > "/usr/bin/clangd") (server-info) (readable-name . "EGLOT
> > (eglot-1.17/(c-mode c-ts-mode c++-mode c++-t...")
> > tramp-ssh-controlmaster-options tramp-use-ssh-controlmaster-options)
> > nil (let ((default-directory default-directory)
> > (tramp-use-ssh-controlmaster-options 'suppress)
> > (tramp-ssh-controlmaster-options "-o ControlMaster=no -o
> > ControlPath=none")) (make-process :name readable-name :command (setq
> > server-info (eglot--cmd contact)) :connection-type 'pipe :coding
> > 'utf-8-emacs-unix :noquery t :stderr (get-buffer-create (format "*%s
> > stderr*" readable-name)) :file-handler t)))))
> >   apply(#f(compiled-function (this &optional args) "Construct the new
> > object THIS based on ARGS.\nARGS is a property list where odd numbered
> > elements are tags, and\neven numbered elements are the values to store
> > in the tagged slot.\nIf you overload the `initialize-instance', there
> > you will need to\ncall `shared-initialize' yourself, or you can call
> > `call-next-method'\nto have this constructor called automatically.  If
> > these steps are\nnot taken, then new objects of your class will not
> > have their values\ndynamically set from ARGS." #<bytecode
> > -0x1f60eebd0e85d7f7>) (#<eglot-lsp-server eglot-lsp-server-93e4e78>
> > (:name "EGLOT (eglot-1.17/(c-mode c-ts-mode c++-mode c++-t..."
> > :events-buffer-config (:size 2000000 :format full)
> > :notification-dispatcher (closure ((fn . eglot-handle-notification))
> > (server method params) (let ((eglot--cached-server server)) (apply fn
> > server method (append params nil)))) :request-dispatcher (closure ((fn
> > . eglot-handle-request)) (server method params) (let
> > ((eglot--cached-server server)) (apply fn server method (append params
> > nil)))) :on-shutdown eglot--on-shutdown :process (closure ((contact
> > "/usr/bin/clangd") (server-info) (readable-name . "EGLOT
> > (eglot-1.17/(c-mode c-ts-mode c++-mode c++-t...")
> > tramp-ssh-controlmaster-options tramp-use-ssh-controlmaster-options)
> > nil (let ((default-directory default-directory)
> > (tramp-use-ssh-controlmaster-options 'suppress)
> > (tramp-ssh-controlmaster-options "-o ControlMaster=no -o
> > ControlPath=none")) (make-process :name readable-name :command (setq
> > server-info (eglot--cmd contact)) :connection-type 'pipe :coding
> > 'utf-8-emacs-unix :noquery t :stderr (get-buffer-create (format "*%s
> > stderr*" readable-name)) :file-handler t))))))
> >   #f(compiled-function (&rest args) #<bytecode -0x7469b45b80fef61>)()
> >   #f(compiled-function (cl--cnm conn slots) #<bytecode
> > 0x18a7bfd9b312194c>)(#f(compiled-function (&rest args) #<bytecode
> > -0x7469b45b80fef61>) #<eglot-lsp-server eglot-lsp-server-93e4e78>
> > (:name "EGLOT (eglot-1.17/(c-mode c-ts-mode c++-mode c++-t..."
> > :events-buffer-config (:size 2000000 :format full)
> > :notification-dispatcher (closure ((fn . eglot-handle-notification))
> > (server method params) (let ((eglot--cached-server server)) (apply fn
> > server method (append params nil)))) :request-dispatcher (closure ((fn
> > . eglot-handle-request)) (server method params) (let
> > ((eglot--cached-server server)) (apply fn server method (append params
> > nil)))) :on-shutdown eglot--on-shutdown :process (closure ((contact
> > "/usr/bin/clangd") (server-info) (readable-name . "EGLOT
> > (eglot-1.17/(c-mode c-ts-mode c++-mode c++-t...")
> > tramp-ssh-controlmaster-options tramp-use-ssh-controlmaster-options)
> > nil (let ((default-directory default-directory)
> > (tramp-use-ssh-controlmaster-options 'suppress)
> > (tramp-ssh-controlmaster-options "-o ControlMaster=no -o
> > ControlPath=none")) (make-process :name readable-name :command (setq
> > server-info (eglot--cmd contact)) :connection-type 'pipe :coding
> > 'utf-8-emacs-unix :noquery t :stderr (get-buffer-create (format "*%s
> > stderr*" readable-name)) :file-handler t)))))
> >   apply(#f(compiled-function (cl--cnm conn slots) #<bytecode
> > 0x18a7bfd9b312194c>) #f(compiled-function (&rest args) #<bytecode
> > -0x7469b45b80fef61>) (#<eglot-lsp-server eglot-lsp-server-93e4e78>
> > (:name "EGLOT (eglot-1.17/(c-mode c-ts-mode c++-mode c++-t..."
> > :events-buffer-config (:size 2000000 :format full)
> > :notification-dispatcher (closure ((fn . eglot-handle-notification))
> > (server method params) (let ((eglot--cached-server server)) (apply fn
> > server method (append params nil)))) :request-dispatcher (closure ((fn
> > . eglot-handle-request)) (server method params) (let
> > ((eglot--cached-server server)) (apply fn server method (append params
> > nil)))) :on-shutdown eglot--on-shutdown :process (closure ((contact
> > "/usr/bin/clangd") (server-info) (readable-name . "EGLOT
> > (eglot-1.17/(c-mode c-ts-mode c++-mode c++-t...")
> > tramp-ssh-controlmaster-options tramp-use-ssh-controlmaster-options)
> > nil (let ((default-directory default-directory)
> > (tramp-use-ssh-controlmaster-options 'suppress)
> > (tramp-ssh-controlmaster-options "-o ControlMaster=no -o
> > ControlPath=none")) (make-process :name readable-name :command (setq
> > server-info (eglot--cmd contact)) :connection-type 'pipe :coding
> > 'utf-8-emacs-unix :noquery t :stderr (get-buffer-create (format "*%s
> > stderr*" readable-name)) :file-handler t))))))
> >   #f(compiled-function (conn slots) #<bytecode
> > 0x164956dec53e81bc>)(#<eglot-lsp-server eglot-lsp-server-93e4e78>
> > (:name "EGLOT (eglot-1.17/(c-mode c-ts-mode c++-mode c++-t..."
> > :events-buffer-config (:size 2000000 :format full)
> > :notification-dispatcher (closure ((fn . eglot-handle-notification))
> > (server method params) (let ((eglot--cached-server server)) (apply fn
> > server method (append params nil)))) :request-dispatcher (closure ((fn
> > . eglot-handle-request)) (server method params) (let
> > ((eglot--cached-server server)) (apply fn server method (append params
> > nil)))) :on-shutdown eglot--on-shutdown :process (closure ((contact
> > "/usr/bin/clangd") (server-info) (readable-name . "EGLOT
> > (eglot-1.17/(c-mode c-ts-mode c++-mode c++-t...")
> > tramp-ssh-controlmaster-options tramp-use-ssh-controlmaster-options)
> > nil (let ((default-directory default-directory)
> > (tramp-use-ssh-controlmaster-options 'suppress)
> > (tramp-ssh-controlmaster-options "-o ControlMaster=no -o
> > ControlPath=none")) (make-process :name readable-name :command (setq
> > server-info (eglot--cmd contact)) :connection-type 'pipe :coding
> > 'utf-8-emacs-unix :noquery t :stderr (get-buffer-create (format "*%s
> > stderr*" readable-name)) :file-handler t)))))
> >   apply(#f(compiled-function (conn slots) #<bytecode
> > 0x164956dec53e81bc>) (#<eglot-lsp-server eglot-lsp-server-93e4e78>
> > (:name "EGLOT (eglot-1.17/(c-mode c-ts-mode c++-mode c++-t..."
> > :events-buffer-config (:size 2000000 :format full)
> > :notification-dispatcher (closure ((fn . eglot-handle-notification))
> > (server method params) (let ((eglot--cached-server server)) (apply fn
> > server method (append params nil)))) :request-dispatcher (closure ((fn
> > . eglot-handle-request)) (server method params) (let
> > ((eglot--cached-server server)) (apply fn server method (append params
> > nil)))) :on-shutdown eglot--on-shutdown :process (closure ((contact
> > "/usr/bin/clangd") (server-info) (readable-name . "EGLOT
> > (eglot-1.17/(c-mode c-ts-mode c++-mode c++-t...")
> > tramp-ssh-controlmaster-options tramp-use-ssh-controlmaster-options)
> > nil (let ((default-directory default-directory)
> > (tramp-use-ssh-controlmaster-options 'suppress)
> > (tramp-ssh-controlmaster-options "-o ControlMaster=no -o
> > ControlPath=none")) (make-process :name readable-name :command (setq
> > server-info (eglot--cmd contact)) :connection-type 'pipe :coding
> > 'utf-8-emacs-unix :noquery t :stderr (get-buffer-create (format "*%s
> > stderr*" readable-name)) :file-handler t))))))
> >   #f(compiled-function (&rest args) #<bytecode
> > -0xb77c4438ff27908>)(#<eglot-lsp-server eglot-lsp-server-93e4e78>
> > (:name "EGLOT (eglot-1.17/(c-mode c-ts-mode c++-mode c++-t..."
> > :events-buffer-config (:size 2000000 :format full)
> > :notification-dispatcher (closure ((fn . eglot-handle-notification))
> > (server method params) (let ((eglot--cached-server server)) (apply fn
> > server method (append params nil)))) :request-dispatcher (closure ((fn
> > . eglot-handle-request)) (server method params) (let
> > ((eglot--cached-server server)) (apply fn server method (append params
> > nil)))) :on-shutdown eglot--on-shutdown :process (closure ((contact
> > "/usr/bin/clangd") (server-info) (readable-name . "EGLOT
> > (eglot-1.17/(c-mode c-ts-mode c++-mode c++-t...")
> > tramp-ssh-controlmaster-options tramp-use-ssh-controlmaster-options)
> > nil (let ((default-directory default-directory)
> > (tramp-use-ssh-controlmaster-options 'suppress)
> > (tramp-ssh-controlmaster-options "-o ControlMaster=no -o
> > ControlPath=none")) (make-process :name readable-name :command (setq
> > server-info (eglot--cmd contact)) :connection-type 'pipe :coding
> > 'utf-8-emacs-unix :noquery t :stderr (get-buffer-create (format "*%s
> > stderr*" readable-name)) :file-handler t)))))
> >   apply(#f(compiled-function (&rest args) #<bytecode
> > -0xb77c4438ff27908>) #<eglot-lsp-server eglot-lsp-server-93e4e78>
> > (:name "EGLOT (eglot-1.17/(c-mode c-ts-mode c++-mode c++-t..."
> > :events-buffer-config (:size 2000000 :format full)
> > :notification-dispatcher (closure ((fn . eglot-handle-notification))
> > (server method params) (let ((eglot--cached-server server)) (apply fn
> > server method (append params nil)))) :request-dispatcher (closure ((fn
> > . eglot-handle-request)) (server method params) (let
> > ((eglot--cached-server server)) (apply fn server method (append params
> > nil)))) :on-shutdown eglot--on-shutdown :process (closure ((contact
> > "/usr/bin/clangd") (server-info) (readable-name . "EGLOT
> > (eglot-1.17/(c-mode c-ts-mode c++-mode c++-t...")
> > tramp-ssh-controlmaster-options tramp-use-ssh-controlmaster-options)
> > nil (let ((default-directory default-directory)
> > (tramp-use-ssh-controlmaster-options 'suppress)
> > (tramp-ssh-controlmaster-options "-o ControlMaster=no -o
> > ControlPath=none")) (make-process :name readable-name :command (setq
> > server-info (eglot--cmd contact)) :connection-type 'pipe :coding
> > 'utf-8-emacs-unix :noquery t :stderr (get-buffer-create (format "*%s
> > stderr*" readable-name)) :file-handler t)))))
> >   initialize-instance(#<eglot-lsp-server eglot-lsp-server-93e4e78>
> > (:name "EGLOT (eglot-1.17/(c-mode c-ts-mode c++-mode c++-t..."
> > :events-buffer-config (:size 2000000 :format full)
> > :notification-dispatcher (closure ((fn . eglot-handle-notification))
> > (server method params) (let ((eglot--cached-server server)) (apply fn
> > server method (append params nil)))) :request-dispatcher (closure ((fn
> > . eglot-handle-request)) (server method params) (let
> > ((eglot--cached-server server)) (apply fn server method (append params
> > nil)))) :on-shutdown eglot--on-shutdown :process (closure ((contact
> > "/usr/bin/clangd") (server-info) (readable-name . "EGLOT
> > (eglot-1.17/(c-mode c-ts-mode c++-mode c++-t...")
> > tramp-ssh-controlmaster-options tramp-use-ssh-controlmaster-options)
> > nil (let ((default-directory default-directory)
> > (tramp-use-ssh-controlmaster-options 'suppress)
> > (tramp-ssh-controlmaster-options "-o ControlMaster=no -o
> > ControlPath=none")) (make-process :name readable-name :command (setq
> > server-info (eglot--cmd contact)) :connection-type 'pipe :coding
> > 'utf-8-emacs-unix :noquery t :stderr (get-buffer-create (format "*%s
> > stderr*" readable-name)) :file-handler t)))))
> >   #f(compiled-function (class &rest slots) "Default constructor for
> > CLASS `eieio-default-superclass'.\nSLOTS are the initialization slots
> > used by `initialize-instance'.\nThis static method is called when an
> > object is constructed.\nIt allocates the vector used to represent an
> > EIEIO object, and then\ncalls `initialize-instance' on that object."
> > #<bytecode -0x982733269180e59>)(eglot-lsp-server :name "EGLOT
> > (eglot-1.17/(c-mode c-ts-mode c++-mode c++-t..." :events-buffer-config
> > (:size 2000000 :format full) :notification-dispatcher (closure ((fn .
> > eglot-handle-notification)) (server method params) (let
> > ((eglot--cached-server server)) (apply fn server method (append params
> > nil)))) :request-dispatcher (closure ((fn . eglot-handle-request))
> > (server method params) (let ((eglot--cached-server server)) (apply fn
> > server method (append params nil)))) :on-shutdown eglot--on-shutdown
> > :process (closure ((contact "/usr/bin/clangd") (server-info)
> > (readable-name . "EGLOT (eglot-1.17/(c-mode c-ts-mode c++-mode
> > c++-t...") tramp-ssh-controlmaster-options
> > tramp-use-ssh-controlmaster-options) nil (let ((default-directory
> > default-directory) (tramp-use-ssh-controlmaster-options 'suppress)
> > (tramp-ssh-controlmaster-options "-o ControlMaster=no -o
> > ControlPath=none")) (make-process :name readable-name :command (setq
> > server-info (eglot--cmd contact)) :connection-type 'pipe :coding
> > 'utf-8-emacs-unix :noquery t :stderr (get-buffer-create (format "*%s
> > stderr*" readable-name)) :file-handler t))))
> >   apply(#f(compiled-function (class &rest slots) "Default constructor
> > for CLASS `eieio-default-superclass'.\nSLOTS are the initialization
> > slots used by `initialize-instance'.\nThis static method is called
> > when an object is constructed.\nIt allocates the vector used to
> > represent an EIEIO object, and then\ncalls `initialize-instance' on
> > that object." #<bytecode -0x982733269180e59>) eglot-lsp-server (:name
> > "EGLOT (eglot-1.17/(c-mode c-ts-mode c++-mode c++-t..."
> > :events-buffer-config (:size 2000000 :format full)
> > :notification-dispatcher (closure ((fn . eglot-handle-notification))
> > (server method params) (let ((eglot--cached-server server)) (apply fn
> > server method (append params nil)))) :request-dispatcher (closure ((fn
> > . eglot-handle-request)) (server method params) (let
> > ((eglot--cached-server server)) (apply fn server method (append params
> > nil)))) :on-shutdown eglot--on-shutdown :process (closure ((contact
> > "/usr/bin/clangd") (server-info) (readable-name . "EGLOT
> > (eglot-1.17/(c-mode c-ts-mode c++-mode c++-t...")
> > tramp-ssh-controlmaster-options tramp-use-ssh-controlmaster-options)
> > nil (let ((default-directory default-directory)
> > (tramp-use-ssh-controlmaster-options 'suppress)
> > (tramp-ssh-controlmaster-options "-o ControlMaster=no -o
> > ControlPath=none")) (make-process :name readable-name :command (setq
> > server-info (eglot--cmd contact)) :connection-type 'pipe :coding
> > 'utf-8-emacs-unix :noquery t :stderr (get-buffer-create (format "*%s
> > stderr*" readable-name)) :file-handler t)))))
> >   make-instance(eglot-lsp-server :name "EGLOT (eglot-1.17/(c-mode
> > c-ts-mode c++-mode c++-t..." :events-buffer-config (:size 2000000
> > :format full) :notification-dispatcher (closure ((fn .
> > eglot-handle-notification)) (server method params) (let
> > ((eglot--cached-server server)) (apply fn server method (append params
> > nil)))) :request-dispatcher (closure ((fn . eglot-handle-request))
> > (server method params) (let ((eglot--cached-server server)) (apply fn
> > server method (append params nil)))) :on-shutdown eglot--on-shutdown
> > :process (closure ((contact "/usr/bin/clangd") (server-info)
> > (readable-name . "EGLOT (eglot-1.17/(c-mode c-ts-mode c++-mode
> > c++-t...") tramp-ssh-controlmaster-options
> > tramp-use-ssh-controlmaster-options) nil (let ((default-directory
> > default-directory) (tramp-use-ssh-controlmaster-options 'suppress)
> > (tramp-ssh-controlmaster-options "-o ControlMaster=no -o
> > ControlPath=none")) (make-process :name readable-name :command (setq
> > server-info (eglot--cmd contact)) :connection-type 'pipe :coding
> > 'utf-8-emacs-unix :noquery t :stderr (get-buffer-create (format "*%s
> > stderr*" readable-name)) :file-handler t))))
> >   apply(make-instance eglot-lsp-server :name "EGLOT
> > (eglot-1.17/(c-mode c-ts-mode c++-mode c++-t..." :events-buffer-config
> > (:size 2000000 :format full) :notification-dispatcher (closure ((fn .
> > eglot-handle-notification)) (server method params) (let
> > ((eglot--cached-server server)) (apply fn server method (append params
> > nil)))) :request-dispatcher (closure ((fn . eglot-handle-request))
> > (server method params) (let ((eglot--cached-server server)) (apply fn
> > server method (append params nil)))) :on-shutdown eglot--on-shutdown
> > (:process (closure ((contact "/usr/bin/clangd") (server-info)
> > (readable-name . "EGLOT (eglot-1.17/(c-mode c-ts-mode c++-mode
> > c++-t...") tramp-ssh-controlmaster-options
> > tramp-use-ssh-controlmaster-options) nil (let ((default-directory
> > default-directory) (tramp-use-ssh-controlmaster-options 'suppress)
> > (tramp-ssh-controlmaster-options "-o ControlMaster=no -o
> > ControlPath=none")) (make-process :name readable-name :command (setq
> > server-info (eglot--cmd contact)) :connection-type 'pipe :coding
> > 'utf-8-emacs-unix :noquery t :stderr (get-buffer-create (format "*%s
> > stderr*" readable-name)) :file-handler t)))))
> >   (let* ((default-directory (project-root project)) (nickname
> > (project-name project)) (readable-name (format "EGLOT (%s/%s)"
> > nickname managed-modes)) server-info (contact (if (functionp contact)
> > (funcall contact) contact)) (initargs (cond ((keywordp (car contact))
> > contact) ((integerp (car (cdr contact))) (setq server-info (list
> > (format "%s:%s" ... ...))) (list ':process #'(lambda nil ...))) ((and
> > (stringp (car contact)) (cl-find-if #'... contact)) (setq server-info
> > (list "<inferior process>")) (list ':process
> > (jsonrpc-autoport-bootstrap readable-name contact :connect-args
> > '...))) ((stringp (car contact)) (let* ((probe ...) (more-initargs
> > ...) (contact ...)) (cons ':process (cons ... more-initargs))))))
> > (spread #'(lambda (fn) #'(lambda (server method params) (let ...
> > ...)))) (server (apply #'make-instance class :name readable-name
> > :events-buffer-config eglot-events-buffer-config
> > :notification-dispatcher (funcall spread #'eglot-handle-notification)
> > :request-dispatcher (funcall spread #'eglot-handle-request)
> > :on-shutdown #'eglot--on-shutdown initargs)) (canceled nil) (tag
> > (make-symbol "connected-catch-tag"))) (if server-info (progn
> > (jsonrpc--debug server "Running language server: %s" (string-join
> > server-info " ")))) (let* ((v server)) (\(setf\
> > eglot--saved-initargs\) initargs v)) (let* ((v server)) (\(setf\
> > eglot--project\) project v)) (let* ((v server)) (\(setf\
> > eglot--project-nickname\) nickname v)) (let* ((v server)) (\(setf\
> > eglot--languages\) (let* ((--cl-var-- managed-modes) (m nil)
> > (--cl-var-- language-ids) (l nil) (--cl-var-- nil)) (while (and (consp
> > --cl-var--) (progn (setq m ...) (consp --cl-var--))) (setq l (car
> > --cl-var--)) (setq --cl-var-- (cons (cons m l) --cl-var--)) (setq
> > --cl-var-- (cdr --cl-var--)) (setq --cl-var-- (cdr --cl-var--)))
> > (nreverse --cl-var--)) v)) (run-hook-with-args
> > 'eglot-server-initialized-hook server) (unwind-protect (condition-case
> > _quit (let ((retval (catch tag (jsonrpc-async-request server
> > :initialize ... :success-fn ... :timeout eglot-connect-timeout
> > :error-fn ... :timeout-fn ...) (cond ... ...)))) (cond ((consp retval)
> > (let* (...) (if ... ... ...))) ((null retval) (let nil (eglot--message
> > "Waiting in background for server `%s'" ...) nil)) (t (let nil
> > server)))) (quit (jsonrpc-shutdown server) (setq canceled 'quit)))
> > (setq tag nil)))
> >   eglot--connect((c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)
> > (transient . "/tmp/eglot-1.17/") eglot-lsp-server ("/usr/bin/clangd")
> > ("c" "c" "c++" "c++" "objc"))
> >   eglot((c-mode c-ts-mode c++-mode c++-ts-mode objc-mode) (transient .
> > "/tmp/eglot-1.17/") eglot-lsp-server ("/usr/bin/clangd") ("c" "c"
> > "c++" "c++" "objc") t)
> >   funcall-interactively(eglot (c-mode c-ts-mode c++-mode c++-ts-mode
> > objc-mode) (transient . "/tmp/eglot-1.17/") eglot-lsp-server
> > ("/usr/bin/clangd") ("c" "c" "c++" "c++" "objc") t)
> >   command-execute(eglot record)
> >   execute-extended-command(nil "eglot" "eglot")
> >   funcall-interactively(execute-extended-command nil "eglot" "eglot")
> >   command-execute(execute-extended-command)
> >
> >
> >
> >
>

[-- Attachment #2: Type: text/html, Size: 31812 bytes --]

  reply	other threads:[~2024-09-23 18:02 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-23  8:58 bug#73436: eglot-1.17 fails to run in emacs 29.4 Dov Grobgeld
2024-09-23 11:58 ` Eli Zaretskii
2024-09-23 18:02   ` João Távora [this message]
2024-09-23 19:29     ` Dov Grobgeld
2024-09-24  2:24       ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CALDnm51yjhtgHeMEk_1ffhQA5sSfMfzLtDa45+7=W=TVu7Pzbw@mail.gmail.com' \
    --to=joaotavora@gmail.com \
    --cc=73436@debbugs.gnu.org \
    --cc=dov.grobgeld@gmail.com \
    --cc=eliz@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).