aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2019-01-05 21:55:11 +0000
committerIngo Schwarze <schwarze@openbsd.org>2019-01-05 21:55:11 +0000
commit589d3fbc1807388fbe883742468701520d81c047 (patch)
tree0ab622cf22a39bbedaf23d8b1622768f3ab03239
parent90df3f10ba3a29b23b62fdad06cdae3f2c051e4f (diff)
downloadmandoc-589d3fbc1807388fbe883742468701520d81c047.tar.gz
mandoc-589d3fbc1807388fbe883742468701520d81c047.tar.zst
mandoc-589d3fbc1807388fbe883742468701520d81c047.zip
In no-fill mode, avoid bogus blank lines in two situations:
1. After the last child; the parent will take care of the line break. 2. At the .YS macro; the end of the preceding .SY already broke the line.
-rw-r--r--man_html.c6
-rw-r--r--regress/man/SY/Makefile3
-rw-r--r--regress/man/SY/literal.out_html31
3 files changed, 36 insertions, 4 deletions
diff --git a/man_html.c b/man_html.c
index 94146052..0eb482b0 100644
--- a/man_html.c
+++ b/man_html.c
@@ -1,4 +1,4 @@
-/* $Id: man_html.c,v 1.164 2019/01/05 09:46:34 schwarze Exp $ */
+/* $Id: man_html.c,v 1.165 2019/01/05 21:55:11 schwarze Exp $ */
/*
* Copyright (c) 2008-2012, 2014 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2013-2015, 2017-2019 Ingo Schwarze <schwarze@openbsd.org>
@@ -256,8 +256,8 @@ print_man_node(MAN_ARGS)
/* This will automatically close out any font scope. */
print_stagq(h, t);
- if (n->flags & NODE_NOFILL &&
- (n->next == NULL || n->next->flags & NODE_LINE)) {
+ if (n->flags & NODE_NOFILL && n->tok != MAN_YS &&
+ (n->next != NULL && n->next->flags & NODE_LINE)) {
/* In .nf = <pre>, print even empty lines. */
h->col++;
print_endline(h);
diff --git a/regress/man/SY/Makefile b/regress/man/SY/Makefile
index 54045804..9896d9d1 100644
--- a/regress/man/SY/Makefile
+++ b/regress/man/SY/Makefile
@@ -1,5 +1,6 @@
-# $OpenBSD: Makefile,v 1.1 2019/01/05 21:13:55 schwarze Exp $
+# $OpenBSD: Makefile,v 1.2 2019/01/05 21:52:57 schwarze Exp $
REGRESS_TARGETS = literal
+HTML_TARGETS = literal
.include <bsd.regress.mk>
diff --git a/regress/man/SY/literal.out_html b/regress/man/SY/literal.out_html
new file mode 100644
index 00000000..b1f378cf
--- /dev/null
+++ b/regress/man/SY/literal.out_html
@@ -0,0 +1,31 @@
+BEGINTEST
+<br/>
+initial regular text
+<table class="Nm">
+ <tr>
+ <td><code class="Nm" title="Nm">command</code></td>
+ <td><i>arguments</i></td>
+ </tr>
+</table>
+middle regular text
+<pre>
+literal text
+before display
+</pre>
+<table class="Nm">
+ <tr>
+ <td><code class="Nm" title="Nm">command</code></td>
+ <td>
+ <pre>
+<i>arguments</i>
+ </pre>
+ </td>
+ </tr>
+</table>
+<pre>
+literal text
+after display
+</pre>
+final regular text
+<br/>
+ENDTEST