1include(`quote.m4')dnl 2divert(`-1') 3# foreach(x, (item_1, item_2, ..., item_n), stmt) 4# parenthesized list, improved version 5define(`foreach', `pushdef(`$1')_$0(`$1', 6 (dquote(dquote_elt$2)), `$3')popdef(`$1')') 7define(`_arg1', `$1') 8define(`_foreach', `ifelse(`$2', `(`')', `', 9 `define(`$1', _arg1$2)$3`'$0(`$1', (dquote(shift$2)), `$3')')') 10divert`'dnl 11