| divert(`-1') | |
| # foreachq(x, `item_1, item_2, ..., item_n', stmt) | |
| # quoted list, alternate improved version | |
| define(`foreachq', | |
| `pushdef(`$1')_$0(`$1', `$3'ifelse(`$2', `', `', | |
| `, $2'))popdef(`$1')') | |
| define(`_foreachq', `ifelse(`$#', `2', `', | |
| `define(`$1', `$3')$2`'$0(`$1', `$2'ifelse(`$#', `3', `', | |
| `, shift(shift(shift($@)))'))')') | |
| divert`'dnl |