From: Andrea Corallo Date: Sun, 21 Mar 2021 08:15:25 +0000 (+0100) Subject: * lisp/emacs-lisp/comp.el (comp-clean-up-stale-eln): Clean-up all .eln dirs. X-Git-Tag: emacs-28.0.90~2727^2~41 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=1ad0ecea2bbdfad9b543315a0ab28abcbfb1272f;p=emacs.git * lisp/emacs-lisp/comp.el (comp-clean-up-stale-eln): Clean-up all .eln dirs. --- 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.