blob: b8817f4b8d90ffaaccb67d7de601a1dd6576c314 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
(load "../common.tl")
(mtest
(macroexpand '(defenum)) (progn)
(macroexpand '(defenum nil)) :error
(macroexpand '(defenum t)) :error
(macroexpand '(defenum :key)) :error
(macroexpand '(defenum (a "x"))) :error
(macroexpand '(defenum a (b "x"))) :error
(macroexpand '(defenum a)) (progn (defsymacro a 0))
(macroexpand '(defenum a b)) (progn (defsymacro a 0) (defsymacro b 1))
(macroexpand '(defenum a (b 2))) (progn (defsymacro a 0) (defsymacro b 2))
(macroexpand '(defenum (a 5) b)) (progn (defsymacro a 5) (defsymacro b 6))
(macroexpand '(defenum (a 5) (b 7))) (progn (defsymacro a 5) (defsymacro b 7))
(macroexpand '(defenum a (b #\b))) (progn (defsymacro a 0) (defsymacro b #\b))
(macroexpand '(defenum (a #\a) b)) (progn (defsymacro a #\a) (defsymacro b #\b))
(macroexpand '(defenum (a #\a) (b #\x))) (progn (defsymacro a #\a) (defsymacro b #\x))
(macroexpand '(defenum a b c)) (progn (defsymacro a 0) (defsymacro b 1) (defsymacro c 2)))
(mtest
(enumlet (a b c) (list a b c)) (0 1 2)
(enumlet ((a 10) b c) (list a b c)) (10 11 12)
(enumlet ((a #\a) b c) (list a b c)) (#\a #\b #\c))
|