=================================================================== RCS file: /cvs/mandoc/term.c,v retrieving revision 1.200 retrieving revision 1.202 diff -u -p -r1.200 -r1.202 --- mandoc/term.c 2011/09/19 22:36:16 1.200 +++ mandoc/term.c 2012/05/27 18:02:49 1.202 @@ -1,7 +1,7 @@ -/* $Id: term.c,v 1.200 2011/09/19 22:36:16 schwarze Exp $ */ +/* $Id: term.c,v 1.202 2012/05/27 18:02:49 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons - * Copyright (c) 2010, 2011 Ingo Schwarze + * Copyright (c) 2010, 2011, 2012 Ingo Schwarze * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -184,14 +184,12 @@ term_flushln(struct termp *p) if (vend > bp && 0 == jhy && vis > 0) { vend -= vis; (*p->endline)(p); + p->viscol = 0; if (TERMP_NOBREAK & p->flags) { - p->viscol = p->rmargin; - (*p->advance)(p, p->rmargin); + vbl = p->rmargin; vend += p->rmargin - p->offset; - } else { - p->viscol = 0; + } else vbl = p->offset; - } /* Remove the p->overstep width. */ @@ -318,7 +316,10 @@ term_vspace(struct termp *p) term_newln(p); p->viscol = 0; - (*p->endline)(p); + if (0 < p->skipvsp) + p->skipvsp--; + else + (*p->endline)(p); } void