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