Punt on atomic rename-file for CLISP: workaround by deleting old file if present.
authorFrancois-Rene Rideau <fare@tunes.org>
Wed, 18 Nov 2009 14:53:08 +0000 (09:53 -0500)
committerFrancois-Rene Rideau <fare@tunes.org>
Wed, 18 Nov 2009 14:53:08 +0000 (09:53 -0500)
asdf-ops.lisp

index 3b81068..9d1f3af 100644 (file)
@@ -230,7 +230,9 @@ to the base of the system."
 ;;                      :debug-object-types debug-object-types
                       :base-pathname base-pathname))))))
     #+clisp
-    (posix:copy-file tmp-file-name destination-file :method :rename)
+    (when (probe-file destination-file) (delete-file destination-file)) ;; Workaround BUG in CLISP 2.48, lose atomicity
+    #+clisp
+    (posix:copy-file tmp-file-name destination-file :method :rename :if-exists :overwrite)
     #-clisp
     (rename-file tmp-file-name destination-file
                  #+clozure :if-exists #+clozure :rename-and-delete)))