> Or even simpler > > .ds Ystring \n[.Y] > .while (\B'\*[Ystring]' = 0) .chop Ystring > . > .if (\n[.g] \ > & ((\n[.x] > 1) \ > : ((\n[.x] == 1) & (\n[.y] > 20)) \ > : ((\n[.x] == 1) & (\n[.y] == 20) & (\*[Ystring] >= 2)))) \{\ > . warn (\n[.warn] - (\n[.warn] / 1048576 % 2 * 1048576)) > . mso %s.tmac > .\} > > > Werner
And here (hopefully!) a final version that properly takes the `.g' flag into account. .if \n[.g] \{\ . ds Ystring \n[.Y] . while (\B'\*[Ystring]' = 0) .chop Ystring . . if ((\n[.x] > 1) \ : ((\n[.x] == 1) & (\n[.y] > 20)) \ : ((\n[.x] == 1) & (\n[.y] == 20) & (\*[Ystring] >= 2))) \{\ . warn (\n[.warn] - (\n[.warn] / 1048576 % 2 * 1048576)) . mso %s.tmac . \} .\} Werner