=================================================================== RCS file: /cvs/mandoc/mdoc_term.c,v retrieving revision 1.306 retrieving revision 1.309 diff -u -p -r1.306 -r1.309 --- mandoc/mdoc_term.c 2015/02/01 23:10:35 1.306 +++ mandoc/mdoc_term.c 2015/02/11 14:15:12 1.309 @@ -1,4 +1,4 @@ -/* $Id: mdoc_term.c,v 1.306 2015/02/01 23:10:35 schwarze Exp $ */ +/* $Id: mdoc_term.c,v 1.309 2015/02/11 14:15:12 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons * Copyright (c) 2010, 2012-2015 Ingo Schwarze @@ -319,12 +319,9 @@ print_mdoc_node(DECL_ARGS) * invoked in a prior line, revert it to PREKEEP. */ - if (TERMP_KEEP & p->flags) { - if (n->prev ? (n->prev->lastline != n->line) : - (n->parent && n->parent->line != n->line)) { - p->flags &= ~TERMP_KEEP; - p->flags |= TERMP_PREKEEP; - } + if (p->flags & TERMP_KEEP && n->flags & MDOC_LINE) { + p->flags &= ~TERMP_KEEP; + p->flags |= TERMP_PREKEEP; } /* @@ -1094,9 +1091,6 @@ termp_an_pre(DECL_ARGS) return(0); } - if (n->child == NULL) - return(0); - if (p->flags & TERMP_SPLIT) term_newln(p); @@ -1995,9 +1989,8 @@ termp_eo_pre(DECL_ARGS) n->child->end != ENDBODY_NOT) term_word(p, "\\&"); else if (n->end != ENDBODY_NOT ? n->child != NULL : - n->parent->head->child != NULL && - (n->parent->body->child != NULL || - n->parent->tail->child != NULL)) + n->parent->head->child != NULL && (n->child != NULL || + (n->parent->tail != NULL && n->parent->tail->child != NULL))) p->flags |= TERMP_NOSPACE; return(1);