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