From 2d9f4fc0d90318686f2d2f691c893174ef1bbc0c Mon Sep 17 00:00:00 2001 From: Mark Wooding Date: Tue, 31 May 2011 13:12:04 +0100 Subject: [PATCH] safely.lisp: Fixes for later SBCL. SBCL killed UNIX-NAMESTRING, so we'd better use NATIVE-NAMESTRING. We fake up an implementation of NATIVE-NAMESTRING for CMUCL. --- safely.lisp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/safely.lisp b/safely.lisp index 2477f9a..4830a99 100644 --- a/safely.lisp +++ b/safely.lisp @@ -33,7 +33,13 @@ #+(or cmu sbcl) (eval-when (:compile-toplevel :execute) (import #+cmu '(ext:unix-namestring unix:unix-link) - #+sbcl '(sb-int:unix-namestring))) + #+sbcl '(sb-ext:native-namestring))) +#+cmu +(progn + (declaim (inline unix-namestring)) + (defun native-namestring (pathname &key as-file) + (declare (ignore as-file)) + (unix-namestring pathname nil))) (defstruct (safely (:predicate safelyp)) "Stores information about how to commit or undo safe writes." @@ -153,8 +159,10 @@ ;; Use link(2) where available. (generate-fresh-file-name file tag (lambda (name) - (let ((from (unix-namestring file t)) - (to (unix-namestring name nil))) + (let ((from (native-namestring file + :as-file t)) + (to (native-namestring name + :as-file t))) (and from to (unix-link from to))))) -- 2.11.0