diff options
author | Kristaps Dzonsons <kristaps@bsd.lv> | 2010-07-27 08:38:04 +0000 |
---|---|---|
committer | Kristaps Dzonsons <kristaps@bsd.lv> | 2010-07-27 08:38:04 +0000 |
commit | df08481225e46abecdfb617f8f36b98a530a7064 (patch) | |
tree | b32b8f38ee595a77a5eed2bbce1a504501f0785f | |
parent | 0d10c8557262e29c75d5f481922ded794e98c2fe (diff) | |
download | mandoc-df08481225e46abecdfb617f8f36b98a530a7064.tar.gz |
Fix how `Bd -unfilled' and `Bd -literal' break lines. This unbreaks
displays to work as old groff shows them; however, new groff still does
some fancy shit.
-rw-r--r-- | mdoc_html.c | 11 | ||||
-rw-r--r-- | mdoc_term.c | 10 |
2 files changed, 7 insertions, 14 deletions
diff --git a/mdoc_html.c b/mdoc_html.c index def1c0e0..a25e06ab 100644 --- a/mdoc_html.c +++ b/mdoc_html.c @@ -1457,14 +1457,11 @@ mdoc_bd_pre(MDOC_ARGS) print_otag(h, TAG_DIV, 2, tag); for (nn = n->child; nn; nn = nn->next) { - h->flags |= HTML_NOSPACE; - print_mdoc_node(m, nn, h); - if (NULL == nn->next) - continue; - if (nn->prev && nn->prev->line < nn->line) - print_text(h, "\n"); - else if (NULL == nn->prev) + if (nn->prev && nn->prev->line < nn->line) { print_text(h, "\n"); + h->flags |= HTML_NOSPACE; + } + print_mdoc_node(m, nn, h); } return(0); diff --git a/mdoc_term.c b/mdoc_term.c index d6fba13d..cf3caecd 100644 --- a/mdoc_term.c +++ b/mdoc_term.c @@ -1621,8 +1621,7 @@ termp_fa_pre(DECL_ARGS) static int termp_bd_pre(DECL_ARGS) { - size_t tabwidth; - size_t rm, rmax; + size_t tabwidth, rm, rmax; const struct mdoc_node *nn; if (MDOC_BLOCK == n->type) { @@ -1654,12 +1653,9 @@ termp_bd_pre(DECL_ARGS) p->rmargin = p->maxrmargin = TERM_MAXMARGIN; for (nn = n->child; nn; nn = nn->next) { - p->flags |= TERMP_NOSPACE; + if (nn->prev && nn->prev->line < nn->line) + term_newln(p); print_mdoc_node(p, pair, m, nn); - if (NULL == nn->prev || - nn->prev->line < nn->line || - NULL == nn->next) - term_flushln(p); } p->tabwidth = tabwidth; |