summaryrefslogtreecommitdiffstats
path: root/tests/011/macros-1.txr
diff options
context:
space:
mode:
Diffstat (limited to 'tests/011/macros-1.txr')
-rw-r--r--tests/011/macros-1.txr24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/011/macros-1.txr b/tests/011/macros-1.txr
new file mode 100644
index 00000000..35b9d472
--- /dev/null
+++ b/tests/011/macros-1.txr
@@ -0,0 +1,24 @@
+@(do
+ (progn
+ (defmacro rem-num (:env menv some-form)
+ (let ((expanded (macroexpand some-form menv)))
+ (if (numberp (car expanded))
+ (cdr expanded)
+ some-form)))
+
+ (prinl
+ (macrolet ((foo () '(1 list 42))
+ (bar () '(list 'a)))
+ (symacrolet ((x (bar)))
+ (list (rem-num (foo)) (rem-num x)))))
+
+ (prinl
+ (let ((x 0))
+ (symacrolet ((a (inc x)))
+ (list
+ (let* ((a a)
+ (b a))
+ (list a b))
+ (let ((a a)
+ (b a))
+ (list a b))))))))