collect, unix: Rename `mdw.collect' package to just `collect'.
[lisp] / safely.lisp
index 5eddef3..abb2fb2 100644 (file)
 ;;; along with this program; if not, write to the Free Software Foundation,
 ;;; Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
-(defpackage #:mdw.safely
+(defpackage #:safely
   (:use #:common-lisp #:mdw.base #:mdw.unix)
   (:export #:safely #:safely-close #:safely-delete-file
           #:safely-open-output-stream #:safely-bail #:safely-commit
           #:safely-writing))
-(in-package #:mdw.safely)
+(in-package #:safely)
 
 (defstruct (safely (:predicate safelyp))
   "Stores information about how to commit or undo safe writes."
@@ -67,14 +67,16 @@ Other OPEN-ARGS are passed to open."
 
 (defun delete-file-without-moaning (file)
   "Delete the FILE, ignoring errors."
-  (when (probe-file file)
-    (unix-try unlink file)))
+  (with-errno-handlers ()
+      (sys-unlink file)
+    (ENOENT nil)))
 
 (defun rename-file-without-moaning (old new)
   "Rename OLD to NEW, ignoring errors, and without doing any stupid name
 mangling."
-  (when (probe-file old)
-    (unix-try rename old new)))
+  (with-errno-handlers ()
+      (sys-rename old new)
+    (ENOENT nil)))
 
 (defun safely-unwind (trail)
   "Roll back the TRAIL of operations."
@@ -131,11 +133,11 @@ changes are made."
                                  (copy-file file old)
                                  (push `(:revert ,old ,file) revert))
                                (push `(:rmtmp ,file) revert))
-                           (unix-try rename new file)))
+                           (sys-rename new file)))
                  (:delete (destructuring-bind (tag file old) job
                             (declare (ignore tag))
                             (push `(:revert ,old ,file) revert)
-                            (unix-try rename file old)
+                            (sys-rename file old)
                             (push `(:rmtmp old) cleanup))))))
          (setf revert nil))
       (safely-unwind trail)