]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix up the exclusion logic in loaddefs-generate
authorLars Ingebrigtsen <larsi@gnus.org>
Mon, 15 Aug 2022 06:29:28 +0000 (08:29 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Mon, 15 Aug 2022 06:29:28 +0000 (08:29 +0200)
* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Allow
excluding files completely (bug#57144).

lisp/emacs-lisp/loaddefs-gen.el

index 360b3e4521b3f9ab164f2feea3f19d6ce701b945..8413373e5d4df1ff733f880f0122d6d9805d6cbd 100644 (file)
@@ -570,16 +570,15 @@ instead of just updating them with the new/changed autoloads."
                   (time-less-p output-time
                                (file-attribute-modification-time
                                 (file-attributes file))))
-          (setq defs (nconc
-                     (loaddefs-generate--parse-file
-                       file output-file
-                       ;; We only want the package name from the
-                       ;; excluded files.
-                       (and include-package-version
-                            (if (member (expand-file-name file) excluded-files)
-                                'only
-                              t)))
-                      defs))))
+          ;; If we're scanning for package versions, we want to look
+          ;; at the file even if it's excluded.
+          (let* ((excluded (member (expand-file-name file dir) excluded-files))
+                 (package-data
+                  (and include-package-version (if excluded 'only t))))
+            (when (or package-data (not excluded))
+              (setq defs (nconc (loaddefs-generate--parse-file
+                                 file output-file package-data)
+                                defs))))))
       (progress-reporter-done progress))
 
     ;; If we have no autoloads data, but we have EXTRA-DATA, then