;; 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 (gensym "EVAL-TMPFUN-")
+ (let ((fun (sb!c:compile-in-lexenv nil
`(lambda () ,expr)
lexenv)))
(funcall fun)))
(sb!c::process-decls decls
vars
nil
- lexenv))))
+ :lexenv lexenv))))
(eval-progn-body body lexenv))))
(defun eval (original-exp)
((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)