1.0.11.11: expand zero-object WITH-PINNED-OBJECTS to a PROGN
[sbcl.git] / tests / full-eval.impure.lisp
bloba35528cfcd9c2409e9c10f312f8817e46e4c5127
1 ;;;; various tests of the interpreter
3 ;;;; This software is part of the SBCL system. See the README file for
4 ;;;; more information.
5 ;;;;
6 ;;;; While most of SBCL is derived from the CMU CL system, the test
7 ;;;; files (like this one) were written from scratch after the fork
8 ;;;; from CMU CL.
9 ;;;;
10 ;;;; This software is in the public domain and is provided with
11 ;;;; absolutely no warranty. See the COPYING and CREDITS files for
12 ;;;; more information.
14 #-sb-eval
15 (sb-ext:quit :unix-status 104)
17 (setf sb-ext:*evaluator-mode* :interpret)
19 (assert (not (typep (lambda ()) 'compiled-function)))
21 (assert (not (compiled-function-p (lambda ()))))
23 (let ((seen-forms (make-hash-table :test 'equal)))
24 (let ((*macroexpand-hook* (compile nil
25 `(lambda (fun form env)
26 (setf (gethash form ,seen-forms) t)
27 (funcall fun form env)))))
28 (let ((fun (lambda ()
29 (when t nil))))
30 (assert (not (gethash '(when t nil) seen-forms)))
31 (funcall fun)
32 (assert (gethash '(when t nil) seen-forms)))))