view tools/foreach.m4 @ 213:a0a3196b1a05

Refactory pointer computation into a macro. - It is hard to read a complicate pointer calculation. A macro can make it more easy to be read.
author Thinker K.F. Li <thinker@branda.to>
date Fri, 12 Dec 2008 09:35:27 +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