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