X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Feval.lisp;h=9bd74e2563b5e5c1535389eb0cb6ede9b49bd3e4;hb=50eb070bdefc01733fa6b41427bbe32c7695fd71;hp=7b3764e51c3e466ce69fa58d34de0eead55ab331;hpb=fea8ea02847ddc0864546a02480fb3e97d6fa318;p=sbcl.git diff --git a/src/code/eval.lisp b/src/code/eval.lisp index 7b3764e..9bd74e2 100644 --- a/src/code/eval.lisp +++ b/src/code/eval.lisp @@ -128,7 +128,7 @@ (if (and (legal-fun-name-p name) (not (consp (let ((sb!c:*lexenv* lexenv)) (sb!c:lexenv-find name funs))))) - (fdefinition name) + (%coerce-name-to-fun name) (%eval original-exp lexenv)))) ((quote) (unless (= n-args 1) @@ -144,8 +144,8 @@ ((null (cddr args)) ;; We duplicate the call to SET so that the ;; correct value gets returned. - (set (first args) (eval (second args)))) - (set (first args) (eval (second args))))) + (set (first args) (eval-in-lexenv (second args) lexenv))) + (set (first args) (eval-in-lexenv (second args) lexenv)))) (let ((symbol (first name))) (case (info :variable :kind symbol) (:special) @@ -245,6 +245,7 @@ (defun values (&rest values) #!+sb-doc "Return all arguments, in order, as values." + (declare (dynamic-extent values)) (values-list values)) (defun values-list (list)