X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fstep.lisp;h=9d63d3405ba6931f487da01da0c65fd22b5e140c;hb=dcb73f3edef1e31078fbe585e2fafbd26743efd7;hp=8d1affe735edf5294bc264e7ed1e31df2fd9e7e8;hpb=6fedcdf1b31e40855fec7845d8bce5ad8beeaaf1;p=sbcl.git diff --git a/src/code/step.lisp b/src/code/step.lisp index 8d1affe..9d63d34 100644 --- a/src/code/step.lisp +++ b/src/code/step.lisp @@ -26,8 +26,12 @@ (setf *step-out* nil)) (step-out () :report "Resume stepping after returning from this function" - (disable-stepping) - (setf *step-out* t) + (ecase *step-out* + ((nil) + (error "Can't STEP-OUT: No STEP-IN on the call-stack")) + ((t :maybe) + (disable-stepping) + (setf *step-out* t))) nil) (step-next () :report "Step over call" @@ -107,6 +111,7 @@ to be at least partially steppable." `(locally (declare (optimize debug (sb-c:insert-step-conditions 0))) (format t "Single stepping. Type ? for help.~%") + ;; Allow stepping out of the STEP form. (let ((*step-out* :maybe)) (unwind-protect (with-stepping-enabled