=================================================================== RCS file: /cvs/mandoc/mdoc_term.c,v retrieving revision 1.31 retrieving revision 1.34 diff -u -p -r1.31 -r1.34 --- mandoc/mdoc_term.c 2009/07/12 19:13:12 1.31 +++ mandoc/mdoc_term.c 2009/07/12 20:07:04 1.34 @@ -1,4 +1,4 @@ -/* $Id: mdoc_term.c,v 1.31 2009/07/12 19:13:12 kristaps Exp $ */ +/* $Id: mdoc_term.c,v 1.34 2009/07/12 20:07:04 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons * @@ -1070,13 +1070,10 @@ termp_rv_pre(DECL_ARGS) { int i; - /* FIXME: mandated by parser. */ + i = arg_getattr(MDOC_Std, node); + assert(-1 != i); + assert(node->args->argv[i].sz); - if (-1 == (i = arg_getattr(MDOC_Std, node))) - errx(1, "expected -std argument"); - if (1 != node->args->argv[i].sz) - errx(1, "expected -std argument"); - term_newln(p); term_word(p, "The"); @@ -1105,13 +1102,10 @@ termp_ex_pre(DECL_ARGS) { int i; - /* FIXME: mandated by parser? */ + i = arg_getattr(MDOC_Std, node); + assert(-1 != i); + assert(node->args->argv[i].sz); - if (-1 == (i = arg_getattr(MDOC_Std, node))) - errx(1, "expected -std argument"); - if (1 != node->args->argv[i].sz) - errx(1, "expected -std argument"); - term_word(p, "The"); p->flags |= ttypes[TTYPE_PROG]; term_word(p, *node->args->argv[i].value); @@ -1204,7 +1198,11 @@ static void termp_vt_post(DECL_ARGS) { - if (node->sec == SEC_SYNOPSIS) + if (node->sec != SEC_SYNOPSIS) + return; + if (node->next && MDOC_Vt == node->next->tok) + term_newln(p); + else if (node->next) term_vspace(p); } @@ -1937,13 +1935,12 @@ termp_fo_pre(DECL_ARGS) const struct mdoc_node *n; if (MDOC_BODY == node->type) { + p->flags |= TERMP_NOSPACE; term_word(p, "("); p->flags |= TERMP_NOSPACE; return(1); } else if (MDOC_HEAD != node->type) return(1); - - /* XXX - groff shows only first parameter */ p->flags |= ttypes[TTYPE_FUNC_NAME]; for (n = node->child; n; n = n->next) {