154 |
5 11) |
5 11) |
155 |
*x*))) |
*x*))) |
156 |
(5 11) :good) |
(5 11) :good) |
157 |
|
|
158 |
|
(deftest define-compiler-macro.8 |
159 |
|
(let* ((sym (gensym)) |
160 |
|
(form `(define-compiler-macro ,sym (x y) |
161 |
|
(declare (special *x*)) |
162 |
|
(setf *x* :bad) |
163 |
|
`(list ,x ,y))) |
164 |
|
(form2 `(defmacro ,sym (x y) `(list ,x ,y)))) |
165 |
|
(eval form) |
166 |
|
(eval form2) |
167 |
|
(let ((*x* :good)) |
168 |
|
(declare (special *x*)) |
169 |
|
(values |
170 |
|
(funcall (compile nil `(lambda (a b) |
171 |
|
(declare (notinline ,sym)) |
172 |
|
(,sym a b))) |
173 |
|
7 23) |
174 |
|
*x*))) |
175 |
|
(7 23) :good) |