From: Mark Wooding Date: Tue, 11 Apr 2006 17:05:37 +0000 (+0100) Subject: safely: For -without-moaning functions, just do it and catch errors. X-Git-Url: https://git.distorted.org.uk/~mdw/lisp/commitdiff_plain/2d8bac2c972c9fc294f48df7b6afc34fab744608?hp=ad8995ca2397db9b5d9e1d3357d5e1a6730fdfe4 safely: For -without-moaning functions, just do it and catch errors. ... rather than probing first and hoping for the best. --- diff --git a/safely.lisp b/safely.lisp index f62420c..c78492a 100644 --- a/safely.lisp +++ b/safely.lisp @@ -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."