From: Donavon Keithley Date: Wed, 15 Feb 2006 20:11:41 +0000 (+0100) Subject: Fix (signals error ...), was always passing X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=c2915e382b980c12abd77a686f2d796ada69d172;p=fiveam.git Fix (signals error ...), was always passing If the body of the check didn't signal error, PROCESS-FAILURE would. So I simply moved PROCESS-FAILURE out of the HANDLER-BIND form. --- diff --git a/src/check.lisp b/src/check.lisp index 06c9bba..e91b46d 100644 --- a/src/check.lisp +++ b/src/check.lisp @@ -207,13 +207,13 @@ not evaluated." :test-expr ',condition) (return-from ,block-name t)))) (block nil - ,@body - (process-failure - :reason ,(if reason-control - `(format nil ,reason-control ,@reason-args) - `(format nil "Failed to signal a ~S" ',condition)) - :test-expr ',condition) - (return-from ,block-name nil))))))) + ,@body)) + (process-failure + :reason ,(if reason-control + `(format nil ,reason-control ,@reason-args) + `(format nil "Failed to signal a ~S" ',condition)) + :test-expr ',condition) + (return-from ,block-name nil))))) (defmacro finishes (&body body) "Generates a pass if BODY executes to normal completion. In