X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Ftoplevel.lisp;h=2dae8cbdc1db3c5bdbadda399c48c82e5c120dea;hb=04ae4aeb2cd1f95e0648d179c0d22ebf2148fc99;hp=f77abc194853746e475e20af61e0ac9620163bcd;hpb=76b9a8018c36f764336ec6f5e4a3717b9e9be2bb;p=sbcl.git diff --git a/src/code/toplevel.lisp b/src/code/toplevel.lisp index f77abc1..2dae8cb 100644 --- a/src/code/toplevel.lisp +++ b/src/code/toplevel.lisp @@ -271,16 +271,17 @@ steppers to maintain contextual information.") "Evaluate FORM, returning whatever it returns and adjusting ***, **, *, +++, ++, +, ///, //, /, and -." (setf - form) - (let ((results (multiple-value-list (eval form)))) - (setf /// // - // / - / results - *** ** - ** * - * (car results))) - (setf +++ ++ - ++ + - + -) + (unwind-protect + (let ((results (multiple-value-list (eval form)))) + (setf /// // + // / + / results + *** ** + ** * + * (car results))) + (setf +++ ++ + ++ + + + -)) (unless (boundp '*) ;; The bogon returned an unbound marker. ;; FIXME: It would be safer to check every one of the values in RESULTS,