summaryrefslogtreecommitdiff
path: root/examples/foreachq2.m4
diff options
context:
space:
mode:
Diffstat (limited to 'examples/foreachq2.m4')
-rw-r--r--examples/foreachq2.m410
1 files changed, 10 insertions, 0 deletions
diff --git a/examples/foreachq2.m4 b/examples/foreachq2.m4
new file mode 100644
index 0000000..f57d3ed
--- /dev/null
+++ b/examples/foreachq2.m4
@@ -0,0 +1,10 @@
+include(`quote.m4')dnl
+divert(`-1')
+# foreachq(x, `item_1, item_2, ..., item_n', stmt)
+# quoted list, improved version
+define(`foreachq', `pushdef(`$1')_$0($@)popdef(`$1')')
+define(`_arg1q', ``$1'')
+define(`_rest', `ifelse(`$#', `1', `', `dquote(shift($@))')')
+define(`_foreachq', `ifelse(`$2', `', `',
+ `define(`$1', _arg1q($2))$3`'$0(`$1', _rest($2), `$3')')')
+divert`'dnl