From 7d38f2b698595b8911b6d5954a9f59103ac33ff8 Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Sat, 14 Jul 2012 10:47:07 +0000 Subject: Translate blank input lines to .sp just like in mdoc(7), and ignore .sp after .PP. This fixes vertical spacing for blank lines after .PP and for .sp after .PP. OpenBSD rev. man.c 1.68 and man_term.c 1.86 --- man.c | 5 +++-- man_term.c | 17 ++++++++++++++--- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/man.c b/man.c index caef76f5..749356dc 100644 --- a/man.c +++ b/man.c @@ -435,9 +435,10 @@ man_ptext(struct man *m, int line, char *buf, int offs) if ('\0' == buf[i]) { /* Allocate a blank entry. */ - if ( ! man_word_alloc(m, line, offs, "")) + if ( ! man_elem_alloc(m, line, offs, MAN_sp)) return(0); - return(man_descope(m, line, offs)); + m->next = MAN_NEXT_SIBLING; + return(1); } /* diff --git a/man_term.c b/man_term.c index a00d26f2..873b250a 100644 --- a/man_term.c +++ b/man_term.c @@ -445,10 +445,21 @@ pre_sp(DECL_ARGS) int neg; if ((NULL == n->prev && n->parent)) { - if (MAN_SS == n->parent->tok) - return(0); - if (MAN_SH == n->parent->tok) + switch (n->parent->tok) { + case (MAN_SH): + /* FALLTHROUGH */ + case (MAN_SS): + /* FALLTHROUGH */ + case (MAN_PP): + /* FALLTHROUGH */ + case (MAN_LP): + /* FALLTHROUGH */ + case (MAN_P): + /* FALLTHROUGH */ return(0); + default: + break; + } } neg = 0; -- cgit