Subject: 30.0.50; eglot unbound slot warning unable to start server with EIEIO change 6c47931a1ad

From: Mark Barton <[email-masked]>
Date: Tue, 28 Nov 2023 15:03:14 -0800

Today I noticed that eglot would not start the powershell or python language servers that I had used recently. There was a warning in Messages that there was an unbound slot.

Looking at the commit log I saw a change to eieio.el. I used git-timemachine to overwrite the source file with the previous version and recompiled. Eglot can now start the language servers.

The change in eieio.el was related to slots. Hopefully this report can help someone that understands this better than I do.

In GNU Emacs 30.0.50 (build 1, x86_64-apple-darwin22.6.0, NS
appkit-2299.70 Version 13.5.2 (Build 22G91)) of 2023-11-28 built on
C02FM1E2MD6T
Repository revision: 7a5c91a2831602c3cd961158cf0b6a876852d7ac
Repository branch: master
Windowing system distributor 'Apple', version 10.3.2299
System Description:  macOS 13.5.2

Configured using:
'configure --with-native-compilation --with-xwidgets
--with-tree-sitter'

Configured features:
ACL DBUS GIF GLIB GMP GNUTLS JPEG JSON LCMS2 LIBXML2 MODULES NATIVE_COMP
NOTIFY KQUEUE NS PDUMPER PNG RSVG SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM XWIDGETS ZLIB

Important settings:
  value of $LC_ALL: en_US.UTF-8
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Magit Log

Minor modes in effect:
  doom-modeline-mode: t
  pyenv-mode: t
  engine-mode: t
  erc-autojoin-mode: t
  org-super-agenda-mode: t
  global-org-modern-mode: t
  global-atomic-chrome-edit-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  eros-mode: t
  global-ts-fold-indicators-mode: t
  global-ts-fold-mode: t
  global-ligature-mode: t
  ligature-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  whole-line-or-region-global-mode: t
  whole-line-or-region-local-mode: t
  winner-mode: t
  delete-selection-mode: t
  git-identity-magit-mode: t
  global-git-gutter-mode: t
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  global-auto-revert-mode: t
  server-mode: t
  electric-pair-mode: t
  global-corfu-mode: t
  corfu-mode: t
  spell-fu-global-mode: t
  marginalia-mode: t
  savehist-mode: t
  vertico-mode: t
  popper-echo-mode: t
  popper-mode: t
  pulsar-global-mode: t
  pulsar-mode: t
  override-global-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tab-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  window-divider-mode: t
  minibuffer-regexp-mode: t
  buffer-read-only: t
  column-number-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/Users/bartm002/.emacs.d/elpa/transient-20231128.1536/transient hides /Users/bartm002/Documents/svgnu/emacs/nextstep/Emacs.app/Contents/Resources/lisp/transient
/Users/bartm002/.emacs.d/elpa/bind-key-20230203.2004/bind-key hides /Users/bartm002/Documents/svgnu/emacs/nextstep/Emacs.app/Contents/Resources/lisp/bind-key

Features:
(shadow sort mail-extr emacsbug goto-addr bug-reference magit-extras
jka-compr consult-xref speedbar ezimage dframe powershell indent-bars
misearch multi-isearch dired-aux all-the-icons-dired embark-consult
consult display-line-numbers rainbow-delimiters doom-modeline
doom-modeline-segments doom-modeline-env doom-modeline-core shrink-path
nerd-icons nerd-icons-faces nerd-icons-data nerd-icons-data-mdicon
nerd-icons-data-flicon nerd-icons-data-codicon nerd-icons-data-devicon
nerd-icons-data-sucicon nerd-icons-data-wicon nerd-icons-data-faicon
nerd-icons-data-powerline nerd-icons-data-octicon
nerd-icons-data-pomicon nerd-icons-data-ipsicon pyenv-mode pythonic
engine-mode erc-join erc erc-backend erc-networks erc-common erc-compat
erc-loaddefs ox-slack ox-gfm ox-md org-transclusion
org-transclusion-font-lock text-clone org-glossary pretty-hydra org-ref
org-ref-core org-ref-glossary org-ref-bibtex doi-utils url-http url-auth
url-gw nsm org-ref-utils org-ref-export citeproc citeproc-itemgetters
citeproc-biblatex citeproc-bibtex ol-bibtex citeproc-cite
citeproc-subbibs citeproc-sort citeproc-name citeproc-formatters
citeproc-number rst citeproc-proc citeproc-disamb citeproc-itemdata
citeproc-generic-elements citeproc-macro citeproc-choose citeproc-date
citeproc-context citeproc-prange citeproc-style citeproc-locale
citeproc-term citeproc-rt citeproc-lib citeproc-s ox-pandoc ox-org
org-ref-misc-links org-ref-label-link org-ref-ref-links
org-ref-citation-links org-ref-bibliography-links bibtex-completion
org-capture biblio biblio-download biblio-dissemin biblio-ieee
biblio-hal biblio-dblp biblio-crossref biblio-arxiv timezone biblio-doi
biblio-core ido parsebib bibtex image-dired image-dired-tags
image-dired-external image-dired-util image-mode exif
org-table-sticky-header org-mouse ob-verb ob-http ob-http-mode
ob-gnuplot ob-plantuml ob-latex ob-org ob-dot ob-ditaa ob-js ob-C
ob-shell ob-python ob-sql org-crypt org-web-tools plz eww mm-url gnus
nnheader range esxml-query org-omnifocus org-devonthink org-sidebar
org-ql-search org-ql-view ov org-super-agenda ht org-ql peg ts org-habit
org-duration ox-clip htmlize org-pomodoro alert log4e notifications dbus
gntp org-modern org-eldoc ox-extra 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-contrib org-protocol iedit iedit-lib all-the-icons
all-the-icons-faces data-material data-weathericons data-octicons
data-fileicons data-faicons data-alltheicons ztree ztree-diff
ztree-diff-model ztree-dir ztree-view ztree-protocol ztree-util
atomic-chrome websocket bindat let-alist visual-regexp regex-tool
pcre2el rxt re-builder rg rg-info-hack rg-menu rg-ibuffer rg-result
wgrep-rg wgrep rg-history rg-header ibuf-ext ibuffer ibuffer-loaddefs
elfeed-tube-mpv mpv org-timer org-clock elfeed-tube elfeed-tube-utils
aio elfeed-score elfeed-score-maint elfeed-score-scoring
elfeed-score-serde elfeed-score-rule-stats elfeed-score-rules
elfeed-score-log elfeed-org elfeed-show elfeed-search magit-bookmark
bookmark elfeed-csv elfeed elfeed-curl elfeed-log elfeed-db elfeed-lib
xml-query dired-subtree dired-narrow dired-hacks-utils x509-mode
x509-asn1-mode multiple-cursors mc-separate-operations
rectangular-region-mode mc-mark-pop mc-edit-lines
mc-hide-unmatched-lines-mode mc-mark-more mc-cycle-cursors
multiple-cursors-core rect undo-tree impostman verb url-queue lua-mode
yaml-mode ob-applescript applescript-mode rjsx-mode sgml-mode facemenu
js2-mode etags fileloop js c-ts-common cc-mode cc-fonts cc-guess
cc-menus cc-cmds cc-styles cc-align cc-engine ob-racket racket-mode
racket-bug-report racket-collection tq racket-repl-buffer-name
racket-stepper racket-shell term disp-table ehelp racket-logger
racket-profile racket-smart-open racket-xp racket-xp-complete
racket-imenu racket-edit hideshow racket-repl semantic/symref/grep grep
semantic/symref semantic/util-modes semantic/util semantic semantic/tag
semantic/lex semantic/fw cedet racket-show face-remap pos-tip
racket-eldoc racket-company-doc racket-describe racket-scribble
racket-visit racket-complete racket-common racket-parens racket-indent
racket-font-lock racket-ppss racket-keywords-and-builtins racket-doc
racket-browse-url racket-cmd racket-back-end racket-util racket-custom
sh-script smie executable eglot external-completion jsonrpc ert ewoc
python-black reformatter python treesit eros ts-fold-indicators ts-fold
ts-fold-summary ts-fold-parsers ts-fold-util fringe-helper
string-inflection ligature try yasnippet-classic-snippets
yasnippet-snippets yasnippet ejc-sql-conf ejc-sql ejc-completion-common
ejc-doc ejc-interaction ejc-eldoc ejc-format ejc-result-buffer
ejc-result-mode cua-base ejc-lib clomacs simple-httpd net-utils cider
tramp-sh cider-debug cider-browse-ns cider-mode cider-xref-backend
cider-find cider-inspector cider-completion cider-profile cider-eval
cider-jar arc-mode archive-mode cider-repl-history cider-repl
cider-resolve cider-test cider-overlays cider-stacktrace cider-doc
cider-browse-spec cider-clojuredocs cider-eldoc cider-docstring shr
pixel-fill kinsoku url-file svg xml dom cider-client cider-common xref
cider-completion-context cider-connection cider-util cider-popup
sesman-browser nrepl-client tramp trampver tramp-integration
tramp-message tramp-compat parse-time iso8601 tramp-loaddefs queue
nrepl-dict spinner sesman vc clojure-mode lisp-mnt align parseedn
parseclj-parser parseclj-lex parseclj-alist sql view unfill
whole-line-or-region default-text-scale winner hl-line delsel desktop
frameset git-identity hydra advice lv git-link magit-lfs git-timemachine
vc-git vc-dispatcher git-gutter magit-submodule magit-blame magit-stash
magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone
magit-remote magit-commit magit-sequence magit-notes magit-worktree
magit-tag magit-merge magit-branch magit-reset magit-files magit-refs
magit-status magit magit-repos magit-apply magit-wip magit-log
which-func magit-diff smerge-mode diff diff-mode git-commit log-edit
message sendmail yank-media puny dired dired-loaddefs rfc822 mml mml-sec
epa derived epg rfc6068 epg-config gnus-util mm-decode mm-bodies
mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums
mail-prsvr mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log
magit-core magit-autorevert autorevert filenotify magit-margin
magit-transient magit-process with-editor shell server magit-mode
transient magit-git magit-base magit-section cursor-sensor crm elec-pair
corfu exec-path-from-shell flymake-aspell mode-local flymake project
compile text-property-search comp comp-cstr warnings comp-run
comp-common spell-fu ispell marginalia embark-org org-element
org-persist xdg org-id org-refile avl-tree embark ffap thingatpt
savehist orderless vertico compat em-smart esh-mode esh-var eshell
esh-cmd generator esh-ext esh-opt esh-proc esh-io esh-arg esh-module
esh-groups esh-util files-x ace-window avy transpose-frame popper-echo
popper helpful cc-langs cc-vars cc-defs imenu trace edebug debug
backtrace info-look f f-shortdoc help-fns radix-tree elisp-refs s dash
pulsar pulse color cus-edit pp cus-load wid-edit modus-operandi-theme
modus-themes edmacro kmacro use-package-bind-key bind-key easy-mmode
cl-extra help-mode use-package-ensure use-package-core org ob ob-tangle
ob-ref ob-lob ob-table ob-exp org-macro org-src ob-comint org-pcomplete
pcomplete comint ansi-osc ansi-color ring org-list org-footnote
org-faces org-entities time-date noutline outline icons ob-emacs-lisp
ob-core ob-eval org-cycle org-table ol org-fold org-fold-core org-keys
oc org-loaddefs find-func cal-menu calendar cal-loaddefs org-version
org-compat org-macs format-spec ace-window-autoloads
all-the-icons-dired-autoloads all-the-icons-autoloads
applescript-mode-autoloads atomic-chrome-autoloads bind-key-autoloads
cape-autoloads citar-embark-autoloads citar-autoloads clomacs-autoloads
cider-autoloads clojure-mode-autoloads cm-mode-autoloads
combobulate-autoloads consult-dir-autoloads corfu-autoloads
deadgrep-autoloads diff-ansi-autoloads dired-narrow-autoloads
dired-subtree-autoloads dired-hacks-utils-autoloads
doom-modeline-autoloads edit-indirect-autoloads elfeed-curate-autoloads
elfeed-org-autoloads elfeed-score-autoloads elfeed-tube-mpv-autoloads
elfeed-tube-autoloads aio-autoloads elfeed-webkit-autoloads
elfeed-autoloads elisp-demos-autoloads embark-consult-autoloads
consult-autoloads embark-autoloads engine-mode-autoloads eros-autoloads
exec-path-from-shell-autoloads expand-region-autoloads
flymake-aspell-autoloads fringe-helper-autoloads git-gutter-autoloads
git-identity-autoloads git-link-autoloads git-timemachine-autoloads
gnuplot-autoloads helpful-autoloads elisp-refs-autoloads
impostman-autoloads indent-bars-autoloads json-mode-autoloads rx
ligature-autoloads lorem-ipsum-autoloads lua-mode-autoloads
magit-lfs-autoloads magit-autoloads pcase git-commit-autoloads
magit-section-autoloads marginalia-autoloads markdown-mode-autoloads
mpv-autoloads multiple-cursors-autoloads nerd-icons-autoloads
ob-applescript-autoloads ob-racket-autoloads finder-inf
orderless-autoloads org-clock-convenience-autoloads
org-contrib-autoloads org-download-autoloads async-autoloads
org-glossary-autoloads org-media-note-autoloads org-modern-autoloads
org-mru-clock-autoloads alert-autoloads org-ref-autoloads
citeproc-autoloads bibtex-completion-autoloads biblio-autoloads
biblio-core-autoloads avy-autoloads org-ql-autoloads
org-super-agenda-autoloads org-transclusion-autoloads
org-web-tools-autoloads esxml-autoloads ov-autoloads ox-pandoc-autoloads
ht-autoloads ox-gfm-autoloads parsebib-autoloads parseedn-autoloads
parseclj-autoloads pcre2el-autoloads pdf-tools-autoloads peg-autoloads
plz-autoloads poetry-autoloads popper-autoloads powershell-autoloads
pretty-hydra-autoloads hydra-autoloads lv-autoloads
project-tab-groups-autoloads pulsar-autoloads pydoc-autoloads
pyenv-mode-autoloads python-black-autoloads python-pytest-autoloads
projectile-autoloads pythonic-autoloads racket-mode-autoloads
request-autoloads restclient-autoloads rg-autoloads rjsx-mode-autoloads
js2-mode-autoloads pos-tip-autoloads popup-autoloads f-autoloads
sicp-autoloads simple-httpd-autoloads spell-fu-autoloads
sql-indent-autoloads sqlformat-autoloads reformatter-autoloads
string-inflection-autoloads sudo-edit-autoloads tablist-autoloads
transient-autoloads transpose-frame-autoloads ts-autoloads s-autoloads
dash-autoloads ts-fold-autoloads unfill-autoloads verb-autoloads
vertico-autoloads websocket-autoloads wgrep-ag-autoloads wgrep-autoloads
with-editor-autoloads x509-mode-autoloads info compat-autoloads
xr-autoloads yaml-mode-autoloads yasnippet-snippets-autoloads
yasnippet-autoloads zoom-window-autoloads ztree-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/ns-win ns-win
ucs-normalize mule-util term/common-win 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 xwidget-internal dbusbind
kqueue cocoa ns lcms2 multi-tty make-network-process native-compile
emacs)

Memory information:
((conses 16 1519070 246894) (symbols 48 77704 0)
(strings 32 579602 21178) (string-bytes 1 15566156)
(vectors 16 209266) (vector-slots 8 4320390 282473)
(floats 8 1545 3387) (intervals 56 7330 6130) (buffers 992 31))