From 1ad0ecea2bbdfad9b543315a0ab28abcbfb1272f Mon Sep 17 00:00:00 2001 From: Andrea Corallo Date: Sun, 21 Mar 2021 09:15:25 +0100 Subject: [PATCH] * lisp/emacs-lisp/comp.el (comp-clean-up-stale-eln): Clean-up all .eln dirs. --- lisp/emacs-lisp/comp.el | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el index 7f41a97f6b9..dfb945bb58d 100644 --- a/lisp/emacs-lisp/comp.el +++ b/lisp/emacs-lisp/comp.el @@ -3785,11 +3785,14 @@ sharing the original source filename (including FILE)." with filename-hash = (match-string 1 file) with regexp = (rx-to-string `(seq "-" ,filename-hash "-" (1+ hex) ".eln" eos)) - for dir in (butlast (comp-eln-load-path-eff)) ; Skip last dir. + for dir in (comp-eln-load-path-eff) do (cl-loop for f in (when (file-exists-p dir) (directory-files dir t regexp t)) - do (comp-delete-or-replace-file f))))) + ;; We may not be able to delete the file if we have no write + ;; permisison. + do (ignore-error file-error + (comp-delete-or-replace-file f)))))) (defun comp-delete-or-replace-file (oldfile &optional newfile) "Replace OLDFILE with NEWFILE. -- 2.39.5