annotate tools/foreach.m4 @ 1330:c2a693a27eb9

Double click to switch component and timeline
author Thinker K.F. Li <thinker@codemud.net>
date Mon, 31 Jan 2011 14:08:47 +0800
parents f4b792afa74e
children
rev   line source
63
f4b792afa74e m4 translator
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
1 divert([-1])
f4b792afa74e m4 translator
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
2
f4b792afa74e m4 translator
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
3 define([_arg1], [$1])
f4b792afa74e m4 translator
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
4
f4b792afa74e m4 translator
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
5 define([_foreach], [ifelse([$2], [()], [],
f4b792afa74e m4 translator
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
6 [define([$1], _arg1$2)$3[]_foreach([$1], (shift$2), [$3])])])
f4b792afa74e m4 translator
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
7
f4b792afa74e m4 translator
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
8 define([foreach], [pushdef([$1])_foreach($@)popdef([$1])])
f4b792afa74e m4 translator
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
9
f4b792afa74e m4 translator
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
10 divert[]dnl