X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Feval.impure.lisp;h=392b22492b354b1b0988dfa08ad60e5c156af841;hb=b111015a7111501231c7b61990c61c046392796b;hp=0baf4e9bde353b3a68363540c17ca10637ebb46d;hpb=295fdbaa30b57128da30e1e5fb0c653dd20f46d1;p=sbcl.git diff --git a/tests/eval.impure.lisp b/tests/eval.impure.lisp index 0baf4e9..392b224 100644 --- a/tests/eval.impure.lisp +++ b/tests/eval.impure.lisp @@ -272,6 +272,7 @@ (assert (eq :fun (empty-let-is-not-toplevel-fun)))) ;; While at it, test that we get the late binding under ;; interpreter mode. + #+sb-eval (let ((sb-ext:*evaluator-mode* :interpret)) (eval `(let () (defmacro empty-let-is-not-toplevel-x () :macro) @@ -281,4 +282,16 @@ (eval `(defun empty-let-is-not-toplevel-x () :fun)) (assert (eq :fun (empty-let-is-not-toplevel-fun))))) +(with-test (:name (eval function-lambda-expression)) + (assert (equal `(sb-int:named-lambda eval-fle-1 (x) + (block eval-fle-1 + (+ x 1))) + (function-lambda-expression + (eval `(progn + (defun eval-fle-1 (x) (+ x 1)) + #'eval-fle-1))))) + (assert (equal `(lambda (x y z) (+ x 1 y z)) + (function-lambda-expression + (eval `(lambda (x y z) (+ x 1 y z))))))) + ;;; success