diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2012-07-18 16:41:09 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2012-07-18 16:41:09 +0000 |
commit | fbd1946d95c6c63b887598f0ef0fa3488dd6e8c5 (patch) | |
tree | fd56b2225f18bffdab7e09c4798e8ec3dbcd926a | |
parent | 5f2297ce3a82d4d630e330fb4de3d3c6ce5e6829 (diff) | |
download | mandoc-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-- | TODO | 9 | ||||
-rw-r--r-- | man_validate.c | 25 |
2 files changed, 19 insertions, 15 deletions
@@ -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); } |