view tools/foreach.m4 @ 1416:c60a978f98b1

Fix issue of seg. fault at xnjsmb_coord_invalidate_subtree(). It caused by _xnjsmb_coord_clone_from_subtree_mod() does not create an JS wrapper object every descendants of the subtree. We do not provide any method for traveling tree. So, it is fine to clone a subtree without creating wrapper objects for descendants. So, we check if an object own a JS wrapper object before invalidating it.
author Thinker K.F. Li <thinker@codemud.net>
date Wed, 06 Apr 2011 17:52:38 +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