Special-case NEWLINE tokens in debug output.

Because "[\n]" is cleaner than [
].
Use do-while loops in macros.

It'll catch more syntax snafus if I use them wrong.