X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Feval.lisp;h=56ea38cf7a6f868eb7cbda2ac8aba8a6f9bd4f9c;hb=ee90e535c985f697c71d839083aed16710f846fd;hp=406dc09dae9bf7c3fb194353266c5196151c3e00;hpb=970dd272dc84f7420252eadb4829cc193f795716;p=sbcl.git diff --git a/src/code/eval.lisp b/src/code/eval.lisp index 406dc09..56ea38c 100644 --- a/src/code/eval.lisp +++ b/src/code/eval.lisp @@ -20,9 +20,10 @@ ;; to be careful about not muffling warnings arising from inner ;; evaluations/compilations, though [e.g. the ignored variable in ;; (DEFUN FOO (X) 1)]. -- CSR, 2003-05-13 - (let ((fun (sb!c:compile-in-lexenv nil - `(lambda () ,expr) - lexenv))) + (let* (;; why PROGN? So that attempts to eval free declarations + ;; signal errors rather than return NIL. -- CSR, 2007-05-01 + (lambda `(lambda () (progn ,expr))) + (fun (sb!c:compile-in-lexenv nil lambda lexenv))) (funcall fun))) ;;; Handle PROGN and implicit PROGN.