summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@cvs.openbsd.org>2012-07-18 16:40:52 +0000
committerIngo Schwarze <schwarze@cvs.openbsd.org>2012-07-18 16:40:52 +0000
commit70377ff8dda512b7f705e0999e00dbd173c65803 (patch)
treeefa4a9cd5e0a49bf1f059b5ecd8560f96b1821bf
parentdc57656875c610c9b311b407f566d305dd35026c (diff)
Drop .sp and .br right after .SH and .SS.
Fixes vertical spacing after "OPTIONS" in gcc(1). Issue first reported by naddy@ in rsync(1).
-rw-r--r--regress/usr.bin/mandoc/man/blank/line.in6
-rw-r--r--regress/usr.bin/mandoc/man/blank/line.out_ascii3
-rw-r--r--usr.bin/mandoc/man_validate.c27
3 files changed, 29 insertions, 7 deletions
diff --git a/regress/usr.bin/mandoc/man/blank/line.in b/regress/usr.bin/mandoc/man/blank/line.in
index 13c751a3674..e947996088c 100644
--- a/regress/usr.bin/mandoc/man/blank/line.in
+++ b/regress/usr.bin/mandoc/man/blank/line.in
@@ -2,6 +2,8 @@
.SH NAME
blank-line \- handling of blank lines
.SH DESCRIPTION
+.sp
+.PP
Single br:
.br
Single PP:
@@ -77,4 +79,8 @@ tag
SH sp 2v:
.SH CUSTOM
.sp 2v
+SS sp PP:
+.SS subsection
+.sp
+.PP
End.
diff --git a/regress/usr.bin/mandoc/man/blank/line.out_ascii b/regress/usr.bin/mandoc/man/blank/line.out_ascii
index 072dcfa7c19..9863a787141 100644
--- a/regress/usr.bin/mandoc/man/blank/line.out_ascii
+++ b/regress/usr.bin/mandoc/man/blank/line.out_ascii
@@ -71,6 +71,9 @@ DDEESSCCRRIIPPTTIIOONN
SH sp 2v:
CCUUSSTTOOMM
+ SS sp PP:
+
+ ssuubbsseeccttiioonn
End.
diff --git a/usr.bin/mandoc/man_validate.c b/usr.bin/mandoc/man_validate.c
index 674e92ffb72..0496b4c1aa5 100644
--- a/usr.bin/mandoc/man_validate.c
+++ b/usr.bin/mandoc/man_validate.c
@@ -1,7 +1,7 @@
-/* $Id: man_validate.c,v 1.53 2012/06/02 20:07:09 schwarze Exp $ */
+/* $Id: man_validate.c,v 1.54 2012/07/18 16:40:50 schwarze Exp $ */
/*
* Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
- * Copyright (c) 2010 Ingo Schwarze <schwarze@openbsd.org>
+ * Copyright (c) 2010, 2012 Ingo Schwarze <schwarze@openbsd.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -537,12 +537,25 @@ static int
post_vs(CHKARGS)
{
- /*
- * Don't warn about this because it occurs in pod2man and would
- * cause considerable (unfixable) warnage.
- */
- if (NULL == n->prev && MAN_ROOT == n->parent->type)
+ if (NULL != n->prev)
+ return(1);
+
+ switch (n->parent->tok) {
+ case (MAN_SH):
+ /* FALLTHROUGH */
+ case (MAN_SS):
+ man_nmsg(m, n, MANDOCERR_IGNPAR);
+ /* FALLTHROUGH */
+ case (MAN_MAX):
+ /*
+ * Don't warn about this because it occurs in pod2man
+ * and would cause considerable (unfixable) warnage.
+ */
man_node_delete(m, n);
+ break;
+ default:
+ break;
+ }
return(1);
}