From dbeccb33406dfcc975d30a32a1d67b317682a742 Mon Sep 17 00:00:00 2001 From: Francois-Rene Rideau <tunes@google.com> Date: Wed, 16 Oct 2013 14:32:49 -0400 Subject: [PATCH] Fix ASDF's rename-file-overwriting-target so it may build as part of CLISP. --- uiop/filesystem.lisp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/uiop/filesystem.lisp b/uiop/filesystem.lisp index 555e7503..a7b63441 100644 --- a/uiop/filesystem.lisp +++ b/uiop/filesystem.lisp @@ -521,8 +521,9 @@ as per native OS" (defun rename-file-overwriting-target (source target) "Rename a file, overwriting any previous file with the TARGET name, in an atomic way if the implementation allows." - #+clisp ;; But for a bug in CLISP 2.48, we should use :if-exists :overwrite and be atomic - (posix:copy-file source target :method :rename) + #+clisp ;; in recent enough versions of CLISP, :if-exists :overwrite would make it atomic + (progn (funcall 'require "syscalls") + (symbol-call :posix :copy-file source target :method :rename)) #-clisp (rename-file source target #+clozure :if-exists #+clozure :rename-and-delete)) -- GitLab