aboutsummaryrefslogtreecommitdiffstats
path: root/testcases-narg
diff options
context:
space:
mode:
Diffstat (limited to 'testcases-narg')
-rw-r--r--testcases-narg13
1 files changed, 13 insertions, 0 deletions
diff --git a/testcases-narg b/testcases-narg
index 97baac1..4babf22 100644
--- a/testcases-narg
+++ b/testcases-narg
@@ -83,3 +83,16 @@ $cppawk '
BEGIN { print scolonize(a), scolonize(a, b), scolonize(a, b, c) }'
:
[a1] [a1 : b2] [a1 : b2 : c3]
+--
+7:
+$cppawk '
+#include <narg.h>
+#define first(x, i, a) a-x ## i
+#define rest(prev, x, i, a) prev : a-x ## i
+#define colonize(a, ...) [variaexpand(first, rest, a, __VA_ARGS__)]
+#define str(x) #x
+#define xstr(x) str(x)
+#define scolonize(...) xstr(colonize(__VA_ARGS__))
+BEGIN { print scolonize(m, a), scolonize(n, a, b), scolonize(p, a, b, c) }'
+:
+[m-a1] [n-a1 : n-b2] [p-a1 : p-b2 : p-c3]