Subject: 30.0.50; Unbound slot: eglot-lsp-server
From: Björn Grambow <[email-masked]>
To: [email-masked]
Date: Wed, 29 Nov 2023 04:31:38 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Lets start with the error messages:

[eglot] (warning) Unbound slot: eglot-lsp-server, "#<eglot-lsp-server
eglot-lsp-server-15790d7cb140>", -events-buffer, oref
error in process filter: Unbound slot: eglot-lsp-server,
"#<eglot-lsp-server eglot-lsp-server-15790d7cb140>", -events-buffer,
oref [2 times]
error in process sentinel: Unbound slot: eglot-lsp-server,
"#<eglot-lsp-server eglot-lsp-server-15790d7cb140>", -events-buffer,
oref [

Because of better Elixir support I recently upgraded to Emacs 30. I
configured eglot to use typerescript and elixir language servers (see
below) and everything was working great.
After a few days vacation I got the above error and eglot doesn't start
in my major modes. I have no clue why, I do not recall any changes or
upgrades meanwhile.

(use-package eglot
  :ensure nil
  ;;:commands (eglot eglot-ensures)
  :hook
  (elixir-ts-mode . eglot-ensure)
  (heex-ts-mode . eglot-ensure)
  (typescript-ts-mode . eglot-ensure)
  (tsx-ts-mode . eglot-ensure)
  ;;(before-save . eglot-format-buffer)
  :custom
  (eglot-send-changes-idle-time 0.1)
  :config
 ;; (fset #'jsonrpc--log-event #'ignore)  ; massive perf boost---don't
log every event
  (add-to-list 'eglot-server-programs '(elixir-ts-mode
"~/.emacs.d/elixir-ls/language_server.sh"))
  (add-to-list 'eglot-server-programs '(heex-ts-mode
"~/.emacs.d/elixir-ls/language_server.sh"))
  (add-to-list 'eglot-server-programs '(typescript-ts-mode
"/snap/bin/typescript-language-server" "--stdio"))
  )

(use-package elixir-ts-mode)

...

In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
 3.24.20, cairo version 1.16.0) of 2023-11-27 built on lcy02-amd64-002
Repository revision: 76cf700ecb78cb465bcd05ae2b2fb0d28e4d0aed
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12201001
System Description: Ubuntu 22.04.3 LTS

Configured using:
 'configure --prefix=/snap/emacs/current/usr --with-x-toolkit=gtk3
 --without-xaw3d --with-modules --with-cairo
 --with-native-compilation=aot --with-xinput2 --with-tree-sitter
 --with-json
 'CFLAGS=-isystem/build/emacs/parts/emacs/install/usr/include
 -isystem/build/emacs/parts/emacs/install/usr/include/x86_64-linux-gnu
 -isystem/build/emacs/stage/usr/include -O2'
 'CPPFLAGS=-isystem/build/emacs/parts/emacs/install/usr/include
 -isystem/build/emacs/parts/emacs/install/usr/include/x86_64-linux-gnu
 -isystem/build/emacs/stage/usr/include'
 'LDFLAGS=-L/build/emacs/parts/emacs/install/lib
 -L/build/emacs/parts/emacs/install/usr/lib
 -L/build/emacs/parts/emacs/install/lib/x86_64-linux-gnu
 -L/build/emacs/parts/emacs/install/usr/lib/x86_64-linux-gnu
 -L/build/emacs/stage/usr/lib''

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES
NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3
THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER X11 XDBE XIM XINPUT2 XPM
GTK3 ZLIB

Important settings:
  value of $LC_MONETARY: en_GB.UTF-8
  value of $LC_NUMERIC: en_GB.UTF-8
  value of $LC_TIME: en_GB.UTF-8
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Elixir

Minor modes in effect:
  which-key-mode: t
  server-mode: t
  show-smartparens-global-mode: t
  show-smartparens-mode: t
  smartparens-global-mode: t
  smartparens-mode: t
  global-corfu-mode: t
  corfu-mode: t
  projectile-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  global-treesit-auto-mode: t
  helm-mode: t
  helm-minibuffer-history-mode: t
  async-bytecomp-package-mode: t
  global-auto-revert-mode: t
  override-global-mode: t
  recentf-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  minibuffer-regexp-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/home/bjorn/.emacs.d/elpa/transient-20231128.1536/transient hides
/snap/emacs/current/usr/share/emacs/30.0.50/lisp/transient

Features:
(shadow sort mail-extr emacsbug message yank-media puny rfc822 mml
mml-sec epa derived epg rfc6068 epg-config gnus-util mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail
rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils vc-git
vc-dispatcher eglot external-completion jsonrpc xref flymake diff
diff-mode ert pp ewoc imenu heex-ts-mode winner tramp-archive tramp-gvfs
tramp-cache time-stamp zeroconf dbus xml helm-command helm-elisp
helm-eval edebug debug backtrace helm-info which-key comp-run server
smartparens-config smartparens-org smartparens-text smartparens-elixir
smartparens advice loadhist corfu compat projectile project lisp-mnt
grep ibuf-ext ibuffer ibuffer-loaddefs thingatpt yasnippet
elixir-ts-mode treesit-auto treesit org-clock org-tempo tempo ox-reveal
ox-odt rng-loc rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn
nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex ox-icalendar
org-agenda ox-html table ox-ascii ox-publish ox org-element org-persist
org-id org-refile org ob ob-tangle ob-ref ob-lob ob-table org-macro
org-src ob-comint org-pcomplete org-list org-footnote org-faces
org-entities noutline outline ob-emacs-lisp org-table org-keys
org-loaddefs find-func cal-menu calendar cal-loaddefs avl-tree generator
ol oc ob-exp ob-core org-cycle org-fold org-fold-core org-compat ob-eval
org-version org-macs move-text helm-ag helm-mode helm-misc helm-files
image-dired image-dired-tags image-dired-external image-dired-util
image-mode exif tramp trampver tramp-integration files-x tramp-message
tramp-compat xdg shell pcomplete parse-time iso8601 time-date
tramp-loaddefs helm-buffers helm-occur helm-tags helm-locate helm-grep
helm-regexp format-spec helm-utils helm-help helm-types helm
helm-global-bindings helm-easymenu helm-core async-bytecomp helm-source
helm-multi-match helm-lib async edmacro kmacro ag vc-svn compile
text-property-search comint ansi-osc ansi-color ring find-dired s dash
dired dired-loaddefs autorevert filenotify base16-ayu-mirage-theme
base16-theme use-package use-package-ensure use-package-delight
use-package-diminish use-package-bind-key bind-key easy-mmode
use-package-core recentf tree-widget wid-edit finder-inf site-start comp
comp-cstr cl-extra help-mode comp-common warnings icons rx ag-autoloads
base16-theme-autoloads corfu-autoloads helm-ag-autoloads helm-autoloads
helm-core-autoloads async-autoloads magit-autoloads pcase
git-commit-autoloads mermaid-mode-autoloads move-text-autoloads
org-roam-autoloads magit-section-autoloads emacsql-autoloads
ox-reveal-autoloads popup-autoloads projectile-autoloads s-autoloads
smartparens-autoloads dash-autoloads transient-autoloads
treesit-auto-autoloads wfnames-autoloads which-key-autoloads
with-editor-autoloads info compat-autoloads yasnippet-autoloads package
browse-url url url-proxy url-privacy url-expand url-methods url-history
url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers
url-parse auth-source cl-seq eieio eieio-core cl-macs password-cache
json subr-x map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs
cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify
ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win
term/common-win x-dnd touch-screen tool-bar dnd fontset image regexp-opt
fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode
register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select
scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors
frame minibuffer nadvice seq simple cl-generic indonesian philippine
cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese composite emoji-zwj charscript
charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure
cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp
files window text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget keymap hashtable-print-readable backquote
threads dbusbind inotify lcms2 dynamic-setting system-font-setting
font-render-setting cairo gtk x-toolkit xinput2 x multi-tty move-toolbar
make-network-process native-compile emacs)

Memory information:
((conses 16 644916 79303) (symbols 48 39212 1)
 (strings 32 183922 7193) (string-bytes 1 5569076) (vectors 16 71765)
 (vector-slots 8 1238690 33662) (floats 8 297 1047)
 (intervals 56 1749 119) (buffers 992 24))