;;; 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."
(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."