From: Christophe R. <cr...@us...> - 2005-07-28 21:08:51
|
Update of /cvsroot/sbcl/sbcl/src/code In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1344/src/code Modified Files: toplevel.lisp Log Message: 0.9.3.9: Fix PFD "Setting + in the REPL when the form being evaluated aborts" sbcl-devel 2004-12-12 ... PFD's interpretation is both the most obvious and the most useful (if three history variables is "useful"), but not widely subscribed to. Let's see if SBCL can act as social pressure! (Also largely cosmetic updates to package-lock documentation) Index: toplevel.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/code/toplevel.lisp,v retrieving revision 1.71 retrieving revision 1.72 diff -u -d -r1.71 -r1.72 --- toplevel.lisp 14 Jul 2005 16:30:40 -0000 1.71 +++ toplevel.lisp 28 Jul 2005 21:08:42 -0000 1.72 @@ -271,16 +271,17 @@ "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, |