summaryrefslogtreecommitdiffstats
path: root/tests/012/man-or-boy.tl
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2018-03-25 19:22:16 -0700
committerKaz Kylheku <kaz@kylheku.com>2018-03-25 19:22:16 -0700
commit30d0d0fb1fa657f1b4bad642dc6ea81aee9600ba (patch)
tree43b4d5850639dcc096a9db07e94055dfa847db5c /tests/012/man-or-boy.tl
parent0f2ab1fc2c9dcdc181f02b7a5b50b0cdb92b01aa (diff)
downloadtxr-30d0d0fb1fa657f1b4bad642dc6ea81aee9600ba.tar.gz
txr-30d0d0fb1fa657f1b4bad642dc6ea81aee9600ba.tar.bz2
txr-30d0d0fb1fa657f1b4bad642dc6ea81aee9600ba.zip
eval: remove hack of macro deffers evaled on expansion.
* eval.c (do_expand): When a defmacro or defsymacro form is traversed, do not evaluate it, except in backward compatibility mode. Unfortunately, this breaks some code. * tests/011/macros-1.txr: A defmacro form has to be wrapped in macro-time. * tests/011/macros-2.txr: Likewise. * tests/011/mandel.txr: Likewise. * tests/012/man-or-boy.tl (defun-cbn): This macro generates a progn which which expects that a defmacro form will come into effect for the subsequent lambda in the same form. We must wrap it in macro-time to make this happen now.
Diffstat (limited to 'tests/012/man-or-boy.tl')
-rw-r--r--tests/012/man-or-boy.tl2
1 files changed, 1 insertions, 1 deletions
diff --git a/tests/012/man-or-boy.tl b/tests/012/man-or-boy.tl
index 9c29e455..596d6eb0 100644
--- a/tests/012/man-or-boy.tl
+++ b/tests/012/man-or-boy.tl
@@ -44,7 +44,7 @@
(with-gensyms (hidden-fun)
^(progn
(defun ,hidden-fun ())
- (defmacro ,name (. args) ^(cbn ,',hidden-fun ,*args))
+ (macro-time (defmacro ,name (. args) ^(cbn ,',hidden-fun ,*args)))
(set (symbol-function ',hidden-fun)
,(make-cbn-fun 'lambda args
^(block ,name (let ((,name)) ,*body ,name)))))))