From 30aed16d89b365f873228c1b43cabeb64b3835ea Mon Sep 17 00:00:00 2001 From: Kristaps Dzonsons Date: Wed, 12 Jan 2011 15:31:17 +0000 Subject: Make sure that -Thtml doesn't break within literal lines. This is the same logic as the -Tascii case. Also remove the TODO. --- TODO | 4 ---- man_html.c | 18 +++++------------- 2 files changed, 5 insertions(+), 17 deletions(-) diff --git a/TODO b/TODO index 88e945c4..2ae6c154 100644 --- a/TODO +++ b/TODO @@ -17,10 +17,6 @@ * formatter bugs ************************************************************************ -- in literal mode, the man(7) -Tascii formatter - breaks the line between macro arguments, - e.g. ".B #include " in gettext(3) - ************************************************************************ * missing features ************************************************************************ diff --git a/man_html.c b/man_html.c index 4217e87e..cbc8ecf8 100644 --- a/man_html.c +++ b/man_html.c @@ -186,12 +186,6 @@ print_man_node(MAN_ARGS) bufinit(h); - /* - * FIXME: embedded elements within next-line scopes (e.g., `br' - * within an empty `B') will cause formatting to be forgotten - * due to scope closing out. - */ - switch (n->type) { case (MAN_ROOT): child = man_root_pre(m, n, mh, h); @@ -200,19 +194,19 @@ print_man_node(MAN_ARGS) if ('\0' == *n->string) { print_otag(h, TAG_P, 0, NULL); return; - } - - if (' ' == *n->string && MAN_LINE & n->flags) + } else if (' ' == *n->string && MAN_LINE & n->flags) print_otag(h, TAG_BR, 0, NULL); print_text(h, n->string); - if (MANH_LITERAL & mh->fl) + if (MANH_LITERAL & mh->fl && + (NULL == n->next || + n->next->line > n->line)) print_otag(h, TAG_BR, 0, NULL); return; case (MAN_TBL): print_tbl(h, n->span); - break; + return; default: /* * Close out scope of font prior to opening a macro @@ -240,8 +234,6 @@ print_man_node(MAN_ARGS) case (MAN_ROOT): man_root_post(m, n, mh, h); break; - case (MAN_TBL): - break; default: if (mans[n->tok].post) (*mans[n->tok].post)(m, n, mh, h); -- cgit