Hi all, What I think happens is that Emacs code that is compiled against an (Emacs) feature that is available as both a built-in and provided (propagated) input seems to 'compile' Emacs code against the built-in version.
Case in point: Built-in jsonrpc feature for Emacs 29.3 has the following slot: -events-buffer-scrollback-size t 'eieio--unbound The version of jsonrpc as packaged in emacs-jsonrpc (and also propagated by our emacs-eglot package): -events-buffer-config t '(:size nil :format full) Reproducer: Run: guix shell --container --preserve=TERM emacs emacs-eglot -- emacs -nw -Q, `M-x describe-symbol` -> jsonrpc-connection -> notice that the help buffer lists the details from the built-in jsonrpc class, while the link to "jsonrpc.el" at the top of the *Help* buffer links (correctly) to the more recent version (as propagated by emacs-eglot), which makes me think it's not a load-path issue. AFAICT this means that we will run into issues once a library (e.g. emacs-eglot) starts depending on slots present in the (propagated) emacs-jsonrpc, but not the built-in jsonrpc version. Thanks, - Jelle