view tools/foreach.m4 @ 1275:776b024ae8f9

Fix the buggy implementation of reset() - old implementation is too buggy to make a lot wrong assumption.
author Thinker K.F. Li <thinker@codemud.net>
date Wed, 12 Jan 2011 21:41:26 +0800
parents f4b792afa74e
children
line wrap: on
line source

divert([-1])

define([_arg1], [$1])

define([_foreach], [ifelse([$2], [()], [],
[define([$1], _arg1$2)$3[]_foreach([$1], (shift$2), [$3])])])

define([foreach], [pushdef([$1])_foreach($@)popdef([$1])])

divert[]dnl