summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2009-07-29 09:02:41 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2009-07-29 09:02:41 +0000
commit35e1c3f65d10cfd5d3827b03c62fee935b498f08 (patch)
tree3f3953e85501bb9470314f9c93e5e9d6b28f73fc
parentc993c635420328ac3aca50c9201fdf095a4a97f6 (diff)
downloadmandoc-35e1c3f65d10cfd5d3827b03c62fee935b498f08.tar.gz
mandoc-35e1c3f65d10cfd5d3827b03c62fee935b498f08.tar.zst
mandoc-35e1c3f65d10cfd5d3827b03c62fee935b498f08.zip
Fixed groff-compat where two `Sh' calls, with the first not having a body, don't assert vspace between calls.
-rw-r--r--mdoc_term.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/mdoc_term.c b/mdoc_term.c
index eff5b573..a274079e 100644
--- a/mdoc_term.c
+++ b/mdoc_term.c
@@ -1,4 +1,4 @@
-/* $Id: mdoc_term.c,v 1.64 2009/07/29 08:46:06 kristaps Exp $ */
+/* $Id: mdoc_term.c,v 1.65 2009/07/29 09:02:41 kristaps Exp $ */
/*
* Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -1399,12 +1399,17 @@ static int
termp_sh_pre(DECL_ARGS)
{
/*
- * FIXME: using two `Sh' macros in sequence has no vspace
- * between calls, only a newline.
+ * XXX: undocumented: using two `Sh' macros in sequence has no
+ * vspace between calls, only a newline.
*/
switch (node->type) {
- case (MDOC_HEAD):
+ case (MDOC_BLOCK):
+ if (node->prev && MDOC_Sh == node->prev->tok)
+ if (NULL == node->prev->body->child)
+ break;
term_vspace(p);
+ break;
+ case (MDOC_HEAD):
pair->flag |= ttypes[TTYPE_SECTION];
break;
case (MDOC_BODY):