=================================================================== RCS file: /cvs/mandoc/mdoc_html.c,v retrieving revision 1.321 retrieving revision 1.322 diff -u -p -r1.321 -r1.322 --- mandoc/mdoc_html.c 2018/12/30 00:49:55 1.321 +++ mandoc/mdoc_html.c 2018/12/31 10:35:56 1.322 @@ -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;
 }