collect, unix: Rename `mdw.collect' package to just `collect'.
[lisp] / safely.lisp
index f62420c..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)
-    (sys-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)
-    (sys-rename old new)))
+  (with-errno-handlers ()
+      (sys-rename old new)
+    (ENOENT nil)))
 
 (defun safely-unwind (trail)
   "Roll back the TRAIL of operations."