diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2015-09-21 13:25:00 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2015-09-21 13:25:00 +0000 |
commit | 87626b96bf754763adeb68243fd8515b0558981d (patch) | |
tree | 7bd702f33221e2b8398909662feedbe64969f597 /term.c | |
parent | 2fe8a58305ed2d883e51f661067b10a1477a689c (diff) | |
download | mandoc-87626b96bf754763adeb68243fd8515b0558981d.tar.gz |
Trailing whitespace is significant when determining the width of a tag
in mdoc(7) .Bl -tag and man(7) .TP, but not in man(7) .IP.
Quirk reported by Jan Stary <hans at stare dot cz> on ports@.
Diffstat (limited to 'term.c')
-rw-r--r-- | term.c | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -78,6 +78,8 @@ term_end(struct termp *p) * the next column. However, if less than p->trailspace blanks, * which can be 0, 1, or 2, remain to the right margin, the line * will be broken. + * - TERMP_BRTRSP: Consider trailing whitespace significant + * when deciding whether the chunk fits or not. * - TERMP_BRIND: If the chunk does not fit and the output line has * to be broken, start the next line at the right margin instead * of at the offset. Used together with TERMP_NOBREAK for the tags @@ -291,6 +293,10 @@ term_flushln(struct termp *p) } else if (TERMP_DANGLE & p->flags) return; + /* Trailing whitespace is significant in some columns. */ + if (vis && vbl && (TERMP_BRTRSP & p->flags)) + vis += vbl; + /* If the column was overrun, break the line. */ if (maxvis < vis + p->trailspace * (*p->width)(p, ' ')) { (*p->endline)(p); |