In the SYNOPSIS, .Nm at the beginning of an input line starts
authorschwarze <schwarze@openbsd.org>
Wed, 21 Jul 2010 21:44:28 +0000 (21:44 +0000)
committerschwarze <schwarze@openbsd.org>
Wed, 21 Jul 2010 21:44:28 +0000 (21:44 +0000)
an .Nm block, and gets special handling (new line, indentation).
But .Nm in the middle of a line is just a normal in-line element,
so make sure it does NOT get the special handling.
Partly fixes the test(1) SYNOPSIS; indentation after "[" is still
excessive, which is an unrelated and more difficult issue.
Reminded of the problem by jmc@;
OK kristaps@.

usr.bin/mandoc/mdoc_term.c

index 1e7eb9f..629dcdb 100644 (file)
@@ -1,4 +1,4 @@
-/*     $Id: mdoc_term.c,v 1.96 2010/07/16 00:03:29 schwarze Exp $ */
+/*     $Id: mdoc_term.c,v 1.97 2010/07/21 21:44:28 schwarze Exp $ */
 /*
  * Copyright (c) 2008, 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2010 Ingo Schwarze <schwarze@openbsd.org>
@@ -1022,7 +1022,8 @@ termp_nm_pre(DECL_ARGS)
        if (NULL == n->child && NULL == m->name)
                return(0);
 
-       synopsis_pre(p, n);
+       if (MDOC_HEAD == n->type)
+               synopsis_pre(p, n->parent);
 
        if (MDOC_HEAD == n->type && n->next->child) {
                p->flags |= TERMP_NOSPACE | TERMP_NOBREAK | TERMP_HANG;