diff options
-rw-r--r-- | man.c | 3 | ||||
-rw-r--r-- | man_term.c | 2 | ||||
-rw-r--r-- | mdoc.c | 3 | ||||
-rw-r--r-- | mdoc_term.c | 2 |
4 files changed, 6 insertions, 4 deletions
@@ -119,7 +119,8 @@ int man_parseln(struct man *man, int ln, char *buf, int offs) { - man->flags |= MAN_NEWLINE; + if (man->last->type != MAN_EQN || ln > man->last->line) + man->flags |= MAN_NEWLINE; return (roff_getcontrol(man->roff, buf, &offs) ? man_pmacro(man, ln, buf, offs) : @@ -990,7 +990,7 @@ print_man_node(DECL_ARGS) if ( ! (n->flags & MAN_LINE)) p->flags |= TERMP_NOSPACE; term_eqn(p, n->eqn); - if ( ! (n->flags & MAN_LINE)) + if (n->next != NULL && ! (n->next->flags & MAN_LINE)) p->flags |= TERMP_NOSPACE; return; case MAN_TBL: @@ -238,7 +238,8 @@ int mdoc_parseln(struct mdoc *mdoc, int ln, char *buf, int offs) { - mdoc->flags |= MDOC_NEWLINE; + if (mdoc->last->type != MDOC_EQN || ln > mdoc->last->line) + mdoc->flags |= MDOC_NEWLINE; /* * Let the roff nS register switch SYNOPSIS mode early, diff --git a/mdoc_term.c b/mdoc_term.c index 4b7ca183..5f94ba8e 100644 --- a/mdoc_term.c +++ b/mdoc_term.c @@ -347,7 +347,7 @@ print_mdoc_node(DECL_ARGS) if ( ! (n->flags & MDOC_LINE)) p->flags |= TERMP_NOSPACE; term_eqn(p, n->eqn); - if ( ! (n->flags & MDOC_LINE)) + if (n->next != NULL && ! (n->next->flags & MDOC_LINE)) p->flags |= TERMP_NOSPACE; break; case MDOC_TBL: |