Hi Stefan. Stefan> It's called too often, that's not workable. I was thinking of Stefan> putting an assertion in there instead, maybe something like Stefan> the patch below. I have applied the patch. But no assert is trigered. --8<---------------cut here---------------start------------->8--- GNU Emacs 23.4 (armv7l-unknown-linux-gnueabi) of 2020-02-18 on sacsa --8<---------------cut here---------------end--------------->8--- Stefan> But maybe showing us the complete `load-history` when the Stefan> error (in load-history-filename-element) is caught might give Stefan> us enough of a hint (by looking at the entries nearby to try Stefan> and infer the order of operations at the time the broken entry Stefan> was added)? I have compiled. And I am running the just compiled emacs23. The error is this one: --8<---------------cut here---------------start------------->8--- Debugger entered--Lisp error: (wrong-type-argument stringp (require . smartparens-config)) string-match("\\(\\`\\|/\\)esh-util\\(\\.elc\\|\\.el\\)?\\(\\.gz\\)?\\'" (require . smartparens-config)) (not (string-match file-regexp (car load-elt))) (or (null (and ...)) (not (string-match file-regexp ...))) (and loads (or (null ...) (not ...))) (while (and loads (or ... ...)) (setq loads (cdr loads) load-elt (and loads ...))) (progn (while (and loads ...) (setq loads ... load-elt ...))) (unwind-protect (progn (while ... ...)) (set-match-data save-match-data-internal (quote evaporate))) (let ((save-match-data-internal ...)) (unwind-protect (progn ...) (set-match-data save-match-data-internal ...))) (save-match-data (while (and loads ...) (setq loads ... load-elt ...))) (let* ((loads load-history) (load-elt ...)) (save-match-data (while ... ...)) load-elt) load-history-filename-element("\\(\\`\\|/\\)esh-util\\(\\.elc\\|\\.el\\)?\\(\\.gz\\)?\\'") eval-after-load("esh-util" (progn (add-hook (quote eshell-mode-hook) (quote tramp-eshell-directory-change)) (add-hook (quote eshell-directory-change-hook) (quote tramp-eshell-directory-change)) (add-hook (quote tramp-unload-hook) (lambda nil ... ...)))) require(tramp) eval((require (quote tramp))) eval-last-sexp-1(nil) eval-last-sexp(nil) call-interactively(eval-last-sexp nil nil) --8<---------------cut here---------------end--------------->8--- and the load-history var is this one: