Mattias EngdegÄrd writes: > 3 juni 2024 kl. 19.37 skrev Thierry Volpiatto : > >> (with-temp-file file >> ;; Fix Emacs-30 lexbind warnings. >> (insert ";;; -*- lexical-binding: t -*-\n") >> (prin1 `(setq-default ,obj (eval-when-compile ,obj)) (current-buffer))) >> (byte-compile-file file) > > We have made small changes to several of the moving parts here but it's unclear how they have the outsized effect you reported. > >> Perhaps this commit? > > I wish! But it could be useful to find what actually did. If you had > the time to bisect master to find it, I finally found: --8<---------------cut here---------------start------------->8--- ;; ae8f815613c Sun Mar 24 14:37:03 2024 Update files for Emacs 29.3 Eli Zaretskii (tag: emacs-29.3) (benchmark-run 1 (psession--dump-object-to-file-save-alist)) (8.715188143 0 0.0) --8<---------------cut here---------------end--------------->8--- --8<---------------cut here---------------start------------->8--- ;; 83a6e80d66a Mon Mar 25 03:13:44 2024 (byte-optimize-form-code-walker): Simplify a bit Stefan Monnier (benchmark-run 1 (psession--dump-object-to-file-save-alist)) (0.259306895 0 0.0) --8<---------------cut here---------------end--------------->8--- So it is the first change after emacs-29.3 tag, done by Stefan, even if small, it makes a huge difference as you can see above (not sure to understand why though :-)). --8<---------------cut here---------------start------------->8--- diff --git a/lisp/emacs-lisp/byte-opt.el b/lisp/emacs-lisp/byte-opt.el index f6df40a2d9b..54997205edb 100644 --- a/lisp/emacs-lisp/byte-opt.el +++ b/lisp/emacs-lisp/byte-opt.el @@ -482,9 +482,6 @@ There can be multiple entries for the same NAME if it has several aliases.") (push name byte-optimize--dynamic-vars) `(,fn ,name . ,optimized-rest))) - (`(,(pred byte-code-function-p) . ,exps) - (cons fn (mapcar #'byte-optimize-form exps))) - ((guard (when for-effect (if-let ((tmp (byte-opt--fget fn 'side-effect-free))) (or byte-compile-delete-errors --8<---------------cut here---------------end--------------->8--- -- Thierry