From 3baee6b2cf08cfd97e8919f359b6754c2ddcd6bb Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Wed, 18 Jul 2012 16:41:09 +0000 Subject: [PATCH] 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. --- TODO | 11 +---------- man_validate.c | 27 ++++++++++++++++++++------- 2 files changed, 21 insertions(+), 17 deletions(-) diff --git a/TODO b/TODO index d3c9921f..c3eb0884 100644 --- a/TODO +++ b/TODO @@ -1,6 +1,6 @@ ************************************************************************ * Official mandoc TODO. -* $Id: TODO,v 1.140 2012/07/18 16:20:43 schwarze Exp $ +* $Id: TODO,v 1.141 2012/07/18 16:41:09 schwarze Exp $ ************************************************************************ ************************************************************************ @@ -248,15 +248,6 @@ and document it in mdoc(7) and man(7) COMPATIBILITY found while talking to Chris Bennett -- In man(7), the sequence - .SH HEADER - - .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 diff --git a/man_validate.c b/man_validate.c index 988603bf..38aa29f0 100644 --- a/man_validate.c +++ b/man_validate.c @@ -1,7 +1,7 @@ -/* $Id: man_validate.c,v 1.81 2012/06/02 20:16:23 schwarze Exp $ */ +/* $Id: man_validate.c,v 1.82 2012/07/18 16:41:09 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons - * Copyright (c) 2010 Ingo Schwarze + * Copyright (c) 2010, 2012 Ingo Schwarze * * 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); } -- 2.47.1