When we open a new .while loop, let's not attempt to close out
authorschwarze <schwarze@openbsd.org>
Sun, 24 Apr 2022 17:39:31 +0000 (17:39 +0000)
committerschwarze <schwarze@openbsd.org>
Sun, 24 Apr 2022 17:39:31 +0000 (17:39 +0000)
commita68c8a85dec778df9d263baf662201a206be6473
tree195a54d043551905009482f4973826d28b0f9044
parentc1a68d5225bce082aba41a72058d15b1dc5e384f
When we open a new .while loop, let's not attempt to close out
another enclosing .while loop at the same time.
Instead, postpone the closing until the next iteration of ROFF_RERUN.

This prevents one-line constructions like ".while 0 .while 0 something"
and ".while rx .while rx .rr x" (which admittedly aren't particularly
useful) from dying of abort(3), which was a bug tb@ found with afl(1).
usr.bin/mandoc/roff.c