=================================================================== RCS file: /cvs/mandoc/man_term.c,v retrieving revision 1.182 retrieving revision 1.184 diff -u -p -r1.182 -r1.184 --- mandoc/man_term.c 2015/04/19 14:00:19 1.182 +++ mandoc/man_term.c 2015/09/21 13:25:00 1.184 @@ -1,4 +1,4 @@ -/* $Id: man_term.c,v 1.182 2015/04/19 14:00:19 schwarze Exp $ */ +/* $Id: man_term.c,v 1.184 2015/09/21 13:25:00 schwarze Exp $ */ /* * Copyright (c) 2008-2012 Kristaps Dzonsons * Copyright (c) 2010-2015 Ingo Schwarze @@ -482,6 +482,17 @@ pre_sp(DECL_ARGS) for (i = 0; i < len; i++) term_vspace(p); + /* + * Handle an explicit break request in the same way + * as an overflowing line. + */ + + if (p->flags & TERMP_BRIND) { + p->offset = p->rmargin; + p->rmargin = p->maxrmargin; + p->flags &= ~(TERMP_NOBREAK | TERMP_BRIND); + } + return(0); } @@ -660,7 +671,7 @@ pre_TP(DECL_ARGS) switch (n->type) { case ROFFT_HEAD: - p->flags |= TERMP_NOBREAK; + p->flags |= TERMP_NOBREAK | TERMP_BRTRSP; p->trailspace = 1; break; case ROFFT_BODY: @@ -712,7 +723,7 @@ pre_TP(DECL_ARGS) p->offset = mt->offset + len; p->rmargin = p->maxrmargin; p->trailspace = 0; - p->flags &= ~TERMP_NOBREAK; + p->flags &= ~(TERMP_NOBREAK | TERMP_BRTRSP); break; default: break;