summaryrefslogtreecommitdiffstats
path: root/term.h
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2022-08-15 13:04:43 +0000
committerIngo Schwarze <schwarze@openbsd.org>2022-08-15 13:04:43 +0000
commitffa876e5886e09f94c3fe78fbef3cc7ebcd8a611 (patch)
treed6755f20efaea5d5571591b525c8bde74110b328 /term.h
parentb8c2ddec80f36a42b137370c233bb4a858567168 (diff)
downloadmandoc-ffa876e5886e09f94c3fe78fbef3cc7ebcd8a611.tar.gz
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.
Diffstat (limited to 'term.h')
-rw-r--r--term.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/term.h b/term.h
index 4de3517d..721f0ccc 100644
--- a/term.h
+++ b/term.h
@@ -56,6 +56,7 @@ struct termp_col {
size_t col; /* Byte in buf to be written. */
size_t rmargin; /* Current right margin. */
size_t offset; /* Current left margin. */
+ size_t taboff; /* Offset for literal tabs. */
};
struct termp {