]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix handling of ".elpaignore" file when compiling packages
authorJim Porter <jporterbugs@gmail.com>
Tue, 1 Aug 2023 06:10:03 +0000 (23:10 -0700)
committerJim Porter <jporterbugs@gmail.com>
Wed, 2 Aug 2023 01:14:35 +0000 (18:14 -0700)
* lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Treat
'byte-compile-ignore-files' as a list of regexps per its docstring
(bug#64985).

lisp/emacs-lisp/bytecomp.el

index 5df1205869cda185b0c13e361ed8d6e070b8e228..65ccb60726f286497e057742f26c653ddf032f25 100644 (file)
@@ -1922,6 +1922,8 @@ also be compiled."
       (emacs-lisp-compilation-mode))
     (let ((directories (list default-directory))
          (default-directory default-directory)
+          (ignore-files-regexp
+           (mapconcat #'identity byte-compile-ignore-files "\\|"))
          (skip-count 0)
          (fail-count 0)
          (file-count 0)
@@ -1942,9 +1944,7 @@ also be compiled."
                      (or (null arg) (eq 0 arg)
                          (y-or-n-p (concat "Check " source "? ")))
                       ;; Directory is requested to be ignored
-                      (not (string-match-p
-                            (regexp-opt byte-compile-ignore-files)
-                            source))
+                      (not (string-match-p ignore-files-regexp source))
                       (setq directories (nconc directories (list source))))
                ;; It is an ordinary file.  Decide whether to compile it.
                (if (and (string-match emacs-lisp-file-regexp source)
@@ -1954,9 +1954,7 @@ also be compiled."
                         (not (auto-save-file-name-p source))
                         (not (member source (dir-locals--all-files directory)))
                         ;; File is requested to be ignored
-                        (not (string-match-p
-                              (regexp-opt byte-compile-ignore-files)
-                              source)))
+                        (not (string-match-p ignore-files-regexp source)))
                    (progn (cl-incf
                            (pcase (byte-recompile-file source force arg)
                              ('no-byte-compile skip-count)