annotate tools/foreach.m4 @ 1248:2f9fa5d59e67

Add data_monitor meta-class to monitor accessing on domview_ui. - The monitoring is to prevent from reentry triggered by DOM events. - call 'do*' methods of a monitored class would try to lock domview_ui at first. - The method would not be executed actually if being fault to lock. - You can make monitor to print debug message with environment variable - DATA_MONITOR_DBG=1, or - DATA_MONITOR_DBG=2
author Thinker K.F. Li <thinker@codemud.net>
date Tue, 11 Jan 2011 10:04:14 +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