diff options
Diffstat (limited to 'doc/examples/foreachq2.m4')
-rw-r--r-- | doc/examples/foreachq2.m4 | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/doc/examples/foreachq2.m4 b/doc/examples/foreachq2.m4 new file mode 100644 index 00000000..f57d3edf --- /dev/null +++ b/doc/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 |