In GNU, Heirloom, and Plan 9 roff, tab positions apply to *input* lines,
authorschwarze <schwarze@openbsd.org>
Mon, 15 Aug 2022 13:01:40 +0000 (13:01 +0000)
committerschwarze <schwarze@openbsd.org>
Mon, 15 Aug 2022 13:01:40 +0000 (13:01 +0000)
commitdd2df837b0207b8180c9ec795b7e9dced6131bee
treeeaa81c746bc784ee092b40b48cab72b47d965da9
parent5929f5c8b37dca26dcb289882ccbd9ea02746e50
In GNU, Heirloom, and Plan 9 roff, tab positions apply to *input* lines,
not to *output* lines.  In particular, if an input line gets broken in
fill mode and a tab occurs in the second output line, it advances to a
position of at least (width of the first output line) + (width of a
space character even though this is never printed) + (width of the part
of the second output line that precedes the tab).

Implement the same logic in mandoc.

Again, do not use tabs in filled text: they have surprising effects,
including this one.
usr.bin/mandoc/man_term.c
usr.bin/mandoc/term.c
usr.bin/mandoc/term.h