=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/mandoc/term.c,v retrieving revision 1.146 retrieving revision 1.147 diff -c -r1.146 -r1.147 *** src/usr.bin/mandoc/term.c 2022/04/27 13:30:19 1.146 --- src/usr.bin/mandoc/term.c 2022/08/15 10:21:01 1.147 *************** *** 1,4 **** ! /* $OpenBSD: term.c,v 1.146 2022/04/27 13:30:19 schwarze Exp $ */ /* * Copyright (c) 2010-2022 Ingo Schwarze * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons --- 1,4 ---- ! /* $OpenBSD: term.c,v 1.147 2022/08/15 10:21:01 schwarze Exp $ */ /* * Copyright (c) 2010-2022 Ingo Schwarze * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons *************** *** 266,287 **** vis -= (*p->width)(p, p->tcol->buf[ic - 1]); continue; - case '\t': /* Normal ASCII whitespace. */ case ' ': case ASCII_BREAK: /* Escape \: (breakpoint). */ ! switch (p->tcol->buf[ic]) { ! case '\t': ! vn = term_tab_next(vis); ! break; ! case ' ': ! vn = vis + (*p->width)(p, ' '); ! break; ! case ASCII_BREAK: ! vn = vis; ! break; ! default: ! abort(); ! } /* Can break at the end of a word. */ if (breakline || vn > vtarget) break; --- 266,276 ---- vis -= (*p->width)(p, p->tcol->buf[ic - 1]); continue; case ' ': case ASCII_BREAK: /* Escape \: (breakpoint). */ ! vn = vis; ! if (p->tcol->buf[ic] == ' ') ! vn += (*p->width)(p, ' '); /* Can break at the end of a word. */ if (breakline || vn > vtarget) break; *************** *** 315,326 **** *vbr = vis; continue; ! case ASCII_NBRSP: /* Non-breakable space. */ ! p->tcol->buf[ic] = ' '; ! /* FALLTHROUGH */ ! default: /* Printable character. */ graph = 1; - vis += (*p->width)(p, p->tcol->buf[ic]); if (vis > vtarget && *nbr > 0) return; continue; --- 304,322 ---- *vbr = vis; continue; ! default: ! switch (p->tcol->buf[ic]) { ! case '\t': ! vis = term_tab_next(vis); ! break; ! case ASCII_NBRSP: /* Non-breakable space. */ ! p->tcol->buf[ic] = ' '; ! /* FALLTHROUGH */ ! default: /* Printable character. */ ! vis += (*p->width)(p, p->tcol->buf[ic]); ! break; ! } graph = 1; if (vis > vtarget && *nbr > 0) return; continue;