From a6322e7f134fa3fc4627bb36dcbbe0b78bb00091 Mon Sep 17 00:00:00 2001 From: Lars Ingebrigtsen Date: Wed, 1 Jun 2022 12:55:06 +0200 Subject: [PATCH] Tweak how loaddefs-gen decides whether to do a full update * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Do a complete build more often to avoid problems with going from old loaddefs.el files to new ones. --- lisp/emacs-lisp/loaddefs-gen.el | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lisp/emacs-lisp/loaddefs-gen.el b/lisp/emacs-lisp/loaddefs-gen.el index 8dcb55d82d4..63b3fd13d7f 100644 --- a/lisp/emacs-lisp/loaddefs-gen.el +++ b/lisp/emacs-lisp/loaddefs-gen.el @@ -508,6 +508,13 @@ If INCLUDE-PACKAGE-VERSION, include package version data." (directory-files (expand-file-name d) t files-re)) (if (consp dir) dir (list dir))))) + (updating (and (file-exists-p output-file) + ;; Always do a complete update if loaddefs-gen.el + ;; has been updated and we're doing a base build. + include-package-version + (file-newer-than-file-p + output-file + (expand-file-name "emacs-lisp/loaddefs-gen.el")))) (defs nil)) ;; Collect all the autoload data. @@ -518,7 +525,7 @@ If INCLUDE-PACKAGE-VERSION, include package version data." (file-count 0)) (dolist (file files) (progress-reporter-update progress (setq file-count (1+ file-count))) - (when (or (not (file-exists-p output-file)) + (when (or (not updating) (file-newer-than-file-p file output-file)) (setq defs (nconc (loaddefs-generate--parse-file -- 2.39.2