Ludovic Courtès <l...@gnu.org> skribis: > Reconfiguring my system after b56724e led to an Emacs that wouldn't start > because of a missing 'cl-pushnew' binding while loading > /etc/emacs/site-start.el.
I managed to capture a backtrace by running ‘emacs -Q’ and then: M-x toggle-debug-on-error M-x load-file /etc/emacs/site-start.el Here it is: --8<---------------cut here---------------start------------->8--- Debugger entered--Lisp error: (void-function cl-pushnew) (cl-pushnew (file-name-directory file) load-path :test (function string=)) (while --dolist-tail-- (setq file (car --dolist-tail--)) (cl-pushnew (file-name-directory file) load-path :test (function string=)) (load file (quote noerror)) (setq --dolist-tail-- (cdr --dolist-tail--))) (let ((--dolist-tail-- files) file) (while --dolist-tail-- (setq file (car --dolist-tail--)) (cl-pushnew (file-name-directory file) load-path :test (function string=)) (load file (quote noerror)) (setq --dolist-tail-- (cdr --dolist-tail--)))) (let* ((autoloads (guix-emacs-find-autoloads)) (files (if all autoloads (cl-nset-difference autoloads guix-emacs-autoloads :test (function string=))))) (let ((--dolist-tail-- files) file) (while --dolist-tail-- (setq file (car --dolist-tail--)) (cl-pushnew (file-name-directory file) load-path :test (function string=)) (load file (quote noerror)) (setq --dolist-tail-- (cdr --dolist-tail--)))) (setq guix-emacs-autoloads autoloads)) guix-emacs-load-autoloads(all) (progn (require (quote guix-emacs)) (guix-emacs-load-autoloads (quote all))) (if guix-package-enable-at-startup (progn (require (quote guix-emacs)) (guix-emacs-load-autoloads (quote all)))) eval-buffer(#<buffer *load*-981800> nil "/run/current-system/profile/share/emacs/site-lisp/guix-init.el" nil t) ; Reading at buffer position 641 load-with-code-conversion("/run/current-system/profile/share/emacs/site-lisp/guix-init.el" "/run/current-system/profile/share/emacs/site-lisp/guix-init.el" t t) require(guix-init nil t) (progn (add-to-list (quote load-path) "/run/current-system/profile/share/emacs/site-lisp") (require (quote guix-init) nil t) (require (quote geiser-install) nil t)) eval-buffer(#<buffer *load*> nil "/etc/emacs/site-start.el" nil t) ; Reading at buffer position 165 load-with-code-conversion("/etc/emacs/site-start.el" "/etc/emacs/site-start.el" nil nil) load("/etc/emacs/site-start.el" nil nil t) load-file("/etc/emacs/site-start.el") call-interactively(load-file record nil) command-execute(load-file record) execute-extended-command(nil "load-file") call-interactively(execute-extended-command nil nil) command-execute(execute-extended-command) --8<---------------cut here---------------end--------------->8--- Looking more closely, I guess the reason it worked in a VM is that there were no autoloads, so ‘guix-emacs-find-autoloads’ just returned nil. Ludo’.