
New patches:

[A bunch of changes to make running lift interactively a more useful experience
Russ Tyndall <russ@acceleration.net>**20090415183650
 by ensuring that the call stack and any arguements are avaialable at the debugger.
 
  * Made handler-bind condition binding lambdas have optional condition args
     since when invoked from the debugger, they do not get the condition
    (which it self signals another error).  Also added a restart for run-next-test
  * use handler bind instead of handler case in while-measuring, so that we get the stack in the invoked debugger
  * replaces a handler-case with a handler-bind, with mostly equivalent functionality
  * added the report arguments to the conditions, so that they are inspectable in the debugger
  * pass (not *test-break-on-errors?*) to while-measuring instead of always T
 
] {
hunk ./dev/lift.lisp 211
-                  ((message :initform ""
-                            :initarg :message
-                            :accessor message))
+  ((message :initform ""
+	    :initarg :message
+		     :accessor message)
+   (report-args :accessor report-args :initarg :report-args :initform nil))
hunk ./dev/lift.lisp 511
+				   :report-args arguments
hunk ./dev/lift.lisp 525
+				   :report-args arguments
hunk ./dev/lift.lisp 544
-		(ensure-failed (cond)
+		(ensure-failed (&optional cond)
hunk ./dev/lift.lisp 1360
-       (ensure-failed (condition) 
+       (ensure-failed (&optional condition) 
hunk ./dev/lift.lisp 1587
-			  (while-measuring (t measure-space measure-seconds)
+			  (while-measuring ((not *test-break-on-errors?*) measure-space measure-seconds)
hunk ./dev/lift.lisp 1607
-		 (invoke-debugger condition)
+		 (when (with-simple-restart (run-next-test "Run the next test")
+			 (invoke-debugger condition))
+		   (go :test-end))
hunk ./dev/macros.lisp 62
-	       (handler-case 
-		   ,@(measure-1 vars measures)
-		 (error (c)
-		   (setf ,gcondition c)
-		   (unless ,gcatch-errors-p
-		     (error c)))))
+	       (block :here
+		 (handler-bind 
+		     ((error (lambda (c)
+			       (setf ,gcondition c)
+			       (when ,gcatch-errors-p
+				 (return-from :here nil)))))
+		   (progn ,@(measure-1 vars measures)))))
hunk ./dev/measuring.lisp 53
-	   (handler-case 
-	       (progn ,@body)
-	     (error (c) (setf ,gcondition c)))
+	   (handler-bind 
+	       ((error
+		 (lambda (c) ;; let this perkolate up so that stack traces show in the debugger
+		   (setf ,var (- (,measure-fn) ,ginitial)))))
+	     (progn ,@body))
hunk ./dev/measuring.lisp 59
-	 (when ,gcondition (error ,gcondition))))))
+	 ))))
}

Context:

[TAG version-1.7.0
Gary King <gwking@metabang.com>**20090307211551] 
Patch bundle hash:
140a8b08f72817cfea790d3705c207584eb9dbbc
