From 48e457d13eb661a702f4f4f1cfd7a0bb7a57399a Mon Sep 17 00:00:00 2001 From: Alastair Bridgewater Date: Thu, 7 May 2009 02:12:58 +0000 Subject: [PATCH] 1.0.28.23: Fix value of CL:- in inspector The inspector was the last holdout against using INTERACTIVE-EVAL. ...take one down, commit the fix, 97 FIXMEs left in the source... (with apologies to Nathan Froyd, per 1.0.28.7) --- NEWS | 2 ++ src/code/inspect.lisp | 11 +++-------- version.lisp-expr | 2 +- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/NEWS b/NEWS index 45585c9..79cdb7a 100644 --- a/NEWS +++ b/NEWS @@ -22,6 +22,8 @@ * bug fix: special variables with a proclaimed specific subtype of FUNCTION could not be assigned to or bound with PROGV. (reported by Lorenz Mösenlechner) + * bug fix: the value of CL:- in the inspector was the previous expression + evaluated rather than the expression being evaluated. changes in sbcl-1.0.28 relative to 1.0.27: * a number of bugs in cross-compilation have been fixed, with the ultimate diff --git a/src/code/inspect.lisp b/src/code/inspect.lisp index c736f5a..37e04c8 100644 --- a/src/code/inspect.lisp +++ b/src/code/inspect.lisp @@ -108,17 +108,12 @@ evaluated expressions. (return-from %inspect (reread))))))))) (defun eval-for-inspect (command stream) - (let ((result-list (restart-case (multiple-value-list (eval command)) + (let ((result-list (restart-case + (multiple-value-list (interactive-eval command)) (nil () :report "Return to the inspector." (format stream "~%returning to the inspector~%") (return-from eval-for-inspect nil))))) - ;; FIXME: Much of this interactive-EVAL logic is shared with - ;; the main REPL EVAL and with the debugger EVAL. The code should - ;; be shared explicitly. - (setf /// // // / / result-list) - (setf +++ ++ ++ + + - - command) - (setf *** ** ** * * (car /)) - (format stream "~&~{~S~%~}" /))) + (format stream "~&~{~S~%~}" result-list))) (defun tty-display-inspected-parts (description named-p elements stream) (format stream "~%~A" description) diff --git a/version.lisp-expr b/version.lisp-expr index 17e9d15..51377fb 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"1.0.28.22" +"1.0.28.23" -- 1.7.10.4