summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2012-07-18 16:41:09 +0000
committerIngo Schwarze <schwarze@openbsd.org>2012-07-18 16:41:09 +0000
commitfbd1946d95c6c63b887598f0ef0fa3488dd6e8c5 (patch)
treefd56b2225f18bffdab7e09c4798e8ec3dbcd926a
parent5f2297ce3a82d4d630e330fb4de3d3c6ce5e6829 (diff)
downloadmandoc-fbd1946d95c6c63b887598f0ef0fa3488dd6e8c5.tar.gz
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). OpenBSD rev. 1.54.
-rw-r--r--TODO9
-rw-r--r--man_validate.c25
2 files changed, 19 insertions, 15 deletions
diff --git a/TODO b/TODO
index b8015639..3bd46370 100644
--- a/TODO
+++ b/TODO
@@ -249,15 +249,6 @@
found while talking to Chris Bennett
- In man(7), the sequence
- .SH HEADER
- <blank line>
- .PP
- regular text
- should not produce any blank lines between the header and the text,
- see for example rsync(1).
- Reported by naddy@ Mon, 28 Mar 2011 20:45:42 +0200
-
-- In man(7), the sequence
regular text
.IP
.IP "tag"
diff --git a/man_validate.c b/man_validate.c
index 914f63ee..0865bafc 100644
--- a/man_validate.c
+++ b/man_validate.c
@@ -1,7 +1,7 @@
/* $Id$ */
/*
* 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
@@ -541,12 +541,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);
}