;; 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.