From b7c6cb5b854ff8adb10e8e855f64b7700e1a3758 Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Mon, 31 Dec 2018 10:35:56 +0000 Subject: Cleanup, no functional change: Stop trying to keep fill mode state locally in the mdoc HTML formatter, rely on the state stored in the nodes instead. Note that the .Bd -literal code is buggy. Nested literal displays result in nested
 elements, which violates HTML syntax.
But i'm not yet fixing bugs in this commit, i'm merely deleting
code which has no effect.
---
 mdoc_html.c | 17 ++++-------------
 1 file changed, 4 insertions(+), 13 deletions(-)

diff --git a/mdoc_html.c b/mdoc_html.c
index 25dace6d..e4523f95 100644
--- a/mdoc_html.c
+++ b/mdoc_html.c
@@ -1,4 +1,4 @@
-/*	$Id: mdoc_html.c,v 1.321 2018/12/30 00:49:55 schwarze Exp $ */
+/*	$Id: mdoc_html.c,v 1.322 2018/12/31 10:35:56 schwarze Exp $ */
 /*
  * Copyright (c) 2008-2011, 2014 Kristaps Dzonsons 
  * Copyright (c) 2014,2015,2016,2017,2018 Ingo Schwarze 
@@ -366,7 +366,8 @@ print_mdoc_node(MDOC_ARGS)
 		 * (i.e., within a 
) don't print the newline.
 		 */
 		if (*n->string == ' ' && n->flags & NODE_LINE &&
-		    (h->flags & (HTML_LITERAL | HTML_NONEWLINE)) == 0)
+		    (h->flags & HTML_NONEWLINE) == 0 &&
+		    (n->flags & NODE_NOFILL) == 0)
 			print_otag(h, TAG_BR, "");
 		if (NODE_DELIMC & n->flags)
 			h->flags |= HTML_NOSPACE;
@@ -915,7 +916,7 @@ mdoc_sx_pre(MDOC_ARGS)
 static int
 mdoc_bd_pre(MDOC_ARGS)
 {
-	int			 comp, sv;
+	int			 comp;
 	struct roff_node	*nn;
 
 	if (n->type == ROFFT_HEAD)
@@ -949,12 +950,6 @@ mdoc_bd_pre(MDOC_ARGS)
 		return 1;
 
 	print_otag(h, TAG_PRE, "c", "Li");
-
-	/* This can be recursive: save & set our literal state. */
-
-	sv = h->flags & HTML_LITERAL;
-	h->flags |= HTML_LITERAL;
-
 	for (nn = n->child; nn; nn = nn->next) {
 		print_mdoc_node(meta, nn, h);
 		/*
@@ -983,10 +978,6 @@ mdoc_bd_pre(MDOC_ARGS)
 
 		h->flags |= HTML_NOSPACE;
 	}
-
-	if (0 == sv)
-		h->flags &= ~HTML_LITERAL;
-
 	return 0;
 }
 
-- 
cgit v1.2.3-56-ge451