]> git.eshelyaron.com Git - emacs.git/commitdiff
Don't prune *.eln files in parent of eln-load-path
authorStefan Kangas <stefankangas@gmail.com>
Mon, 17 Oct 2022 13:26:21 +0000 (15:26 +0200)
committerStefan Kangas <stefankangas@gmail.com>
Mon, 17 Oct 2022 13:26:34 +0000 (15:26 +0200)
* lisp/emacs-lisp/comp.el (native-compile-prune-cache): Don't
prune *.eln files in parent directory of `native-comp-eln-load-path'.
* test/lisp/emacs-lisp/comp-tests.el
(test-native-compile-prune-cache/dont-delete-in-parent-of-cache):
New test.

lisp/emacs-lisp/comp.el
test/lisp/emacs-lisp/comp-tests.el

index 686c7aeb3db31ffc924f4b25815e6574ef04a65c..460d260192d5f40e4a52e6fc6eb5a2e6687f4ede 100644 (file)
@@ -4334,7 +4334,9 @@ of (commands) to run simultaneously."
     ;; `invocation-directory'.
     (setq dir (expand-file-name dir invocation-directory))
     (when (file-exists-p dir)
-      (dolist (subdir (directory-files dir t))
+      (dolist (subdir (seq-filter
+                       (lambda (f) (not (string-match (rx "/." (? ".") eos) f)))
+                       (directory-files dir t)))
         (when (and (file-directory-p subdir)
                    (file-writable-p subdir)
                    (not (equal (file-name-nondirectory
index 97761cd728eea49e1dde3480bd2e51847e49fcb2..31f32dad1f5d43d4167a3cef36173003acea3568 100644 (file)
    (should (file-regular-p (expand-file-name "keep1.txt" c1)))
    (should (file-regular-p (expand-file-name "keep2.txt" c2)))))
 
+(ert-deftest test-native-compile-prune-cache/dont-delete-in-parent-of-cache ()
+  (skip-unless (featurep 'native-compile))
+  (with-test-native-compile-prune-cache
+   (let ((f1 (expand-file-name "some.eln" (expand-file-name ".." testdir)))
+         (f2 (expand-file-name "some.eln" testdir)))
+     (with-temp-file f1 (insert "foo"))
+     (with-temp-file f2 (insert "foo"))
+     (native-compile-prune-cache)
+     (should (file-regular-p f1))
+     (should (file-regular-p f2)))))
+
 ;;; comp-tests.el ends here