=================================================================== RCS file: /cvs/mandoc/mdoc_term.c,v retrieving revision 1.118 retrieving revision 1.121 diff -u -p -r1.118 -r1.121 --- mandoc/mdoc_term.c 2010/05/09 16:05:13 1.118 +++ mandoc/mdoc_term.c 2010/05/12 16:01:01 1.121 @@ -1,4 +1,4 @@ -/* $Id: mdoc_term.c,v 1.118 2010/05/09 16:05:13 kristaps Exp $ */ +/* $Id: mdoc_term.c,v 1.121 2010/05/12 16:01:01 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons * @@ -337,6 +337,9 @@ print_mdoc_node(DECL_ARGS) if (termacts[n->tok].post) (*termacts[n->tok].post)(p, &npair, m, n); + if (MDOC_EOS & n->flags) + p->flags |= TERMP_SENTENCE; + p->offset = offset; p->rmargin = rmargin; } @@ -1629,7 +1632,7 @@ static int termp_bd_pre(DECL_ARGS) { int i, type; - size_t sv; + size_t rm, rmax; const struct mdoc_node *nn; if (MDOC_BLOCK == n->type) { @@ -1657,8 +1660,9 @@ termp_bd_pre(DECL_ARGS) if (MDOC_Literal != type && MDOC_Unfilled != type) return(1); - sv = p->rmargin; - p->rmargin = 100000; /* FIXME */ + rm = p->rmargin; + rmax = p->maxrmargin; + p->rmargin = p->maxrmargin = TERM_MAXMARGIN; for (nn = n->child; nn; nn = nn->next) { p->flags |= TERMP_NOSPACE; @@ -1671,7 +1675,8 @@ termp_bd_pre(DECL_ARGS) term_flushln(p); } - p->rmargin = sv; + p->rmargin = rm; + p->maxrmargin = rmax; return(0); } @@ -1681,7 +1686,7 @@ static void termp_bd_post(DECL_ARGS) { int type; - size_t sv; + size_t rm, rmax; if (MDOC_BODY != n->type) return; @@ -1689,15 +1694,17 @@ termp_bd_post(DECL_ARGS) type = arg_disptype(n->parent); assert(-1 != type); - sv = p->rmargin; + rm = p->rmargin; + rmax = p->maxrmargin; if (MDOC_Literal == type || MDOC_Unfilled == type) - p->rmargin = 100000; /* FIXME */ + p->rmargin = p->maxrmargin = TERM_MAXMARGIN; p->flags |= TERMP_NOSPACE; term_flushln(p); - p->rmargin = sv; + p->rmargin = rm; + p->maxrmargin = rmax; }