X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=contrib%2Fsb-aclrepl%2Ftoplevel.lisp;h=316c8fb0366aecb6cb120cd6716a7dcc2b5cc785;hb=8a8a8922802460741d6f8f6c11d71b1f414cf3a7;hp=36c36dabfc9a88bbc9b8fe42ad7382e05cda3c6d;hpb=dfae0cd85d45a30d8687d6a366b608d10350872f;p=sbcl.git diff --git a/contrib/sb-aclrepl/toplevel.lisp b/contrib/sb-aclrepl/toplevel.lisp index 36c36da..316c8fb 100644 --- a/contrib/sb-aclrepl/toplevel.lisp +++ b/contrib/sb-aclrepl/toplevel.lisp @@ -1,7 +1,7 @@ (cl:defpackage :sb-aclrepl (:use "COMMON-LISP" "SB-EXT") (:shadowing-import-from "SB-IMPL" "SCRUB-CONTROL-STACK") - (:shadowing-import-from "SB-INT" "*REPL-PROMPT-FUN*" "*REPL-READ-FORM-FUN*") + (:shadowing-import-from "SB-INT" "*REPL-PROMPT-FUN*" "*REPL-READ-FORM-FUN*" "*STEP*" "*STEPPING*") (:export ;; user-level customization of UI "*PROMPT*" "*EXIT-ON-EOF*" "*MAX-HISTORY*" @@ -38,7 +38,11 @@ (multiple-value-bind (reason reason-param) (catch 'repl-catcher (loop - (rep-one))) + (unwind-protect + (rep-one) + ;; reset toplevel step-condition handler + (setf *step* nil + *stepping* nil)))) (declare (ignore reason-param)) (cond ((and (eq reason :inspect)