3 # foreachq(x, `item_1, item_2, ..., item_n', stmt)
4 # quoted list, improved version
5 define(`foreachq', `pushdef(`$1')_foreachq($@)popdef(`$1')')
6 define(`_arg1q', ``$1'')
7 define(`_rest', `ifelse(`$#', `1', `', `dquote(shift($@))')')
8 define(`_foreachq', `ifelse(`$2', `', `',
9 `define(`$1', _arg1q($2))$3`'$0(`$1', _rest($2), `$3')')')