emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

emacs-29 56e8607dc99: Fix spurious errors on Windows when deleting tempo


From: Eli Zaretskii
Subject: emacs-29 56e8607dc99: Fix spurious errors on Windows when deleting temporary *.eln files
Date: Sun, 29 Jan 2023 02:46:21 -0500 (EST)

branch: emacs-29
commit 56e8607dc99b90c43f82001cbf073e58a4698298
Author: Eli Zaretskii <eliz@gnu.org>
Commit: Eli Zaretskii <eliz@gnu.org>

    Fix spurious errors on Windows when deleting temporary *.eln files
    
    * lisp/emacs-lisp/comp.el (comp--native-compile): On MS-Windows,
    ignore errors when deleting a temporary .eln file.  (Bug#60996)
---
 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 49e3cdb8de7..7ba8e956fb2 100644
--- a/lisp/emacs-lisp/comp.el
+++ b/lisp/emacs-lisp/comp.el
@@ -4112,13 +4112,16 @@ the deferred compilation mechanism."
                 (native-elisp-load data)))
           ;; We may have created a temporary file when we're being
           ;; called with something other than a file as the argument.
-          ;; Delete it.
+          ;; Delete it if we can.
           (when (and (not (stringp function-or-file))
                      (not output)
                      comp-ctxt
                      (comp-ctxt-output comp-ctxt)
                      (file-exists-p (comp-ctxt-output comp-ctxt)))
-            (delete-file (comp-ctxt-output comp-ctxt))))))))
+            (cond ((eq 'windows-nt system-type)
+                   ;; We may still be using the temporary .eln file.
+                   (ignore-errors (delete-file (comp-ctxt-output comp-ctxt))))
+                  (t (delete-file (comp-ctxt-output comp-ctxt))))))))))
 
 (defun native-compile-async-skip-p (file load selector)
   "Return non-nil if FILE's compilation should be skipped.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]