diff options
author | Kristaps Dzonsons <kristaps@bsd.lv> | 2011-04-04 16:05:36 +0000 |
---|---|---|
committer | Kristaps Dzonsons <kristaps@bsd.lv> | 2011-04-04 16:05:36 +0000 |
commit | 062dbcb006aaea832934e8902ef9f1051f5dba00 (patch) | |
tree | ef9ccc580c57a77ec45d5f38023d3712a91e2373 /mdoc_term.c | |
parent | 343b0cdad541d642beb46a782af4e29a1c5c31a7 (diff) | |
download | mandoc-062dbcb006aaea832934e8902ef9f1051f5dba00.tar.gz |
Clean up -Tascii in the same way as -T[x]html regarding `Rv' arguments.
Diffstat (limited to 'mdoc_term.c')
-rw-r--r-- | mdoc_term.c | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/mdoc_term.c b/mdoc_term.c index 47d121c3..98709a29 100644 --- a/mdoc_term.c +++ b/mdoc_term.c @@ -1183,25 +1183,30 @@ termp_rs_pre(DECL_ARGS) static int termp_rv_pre(DECL_ARGS) { - const struct mdoc_node *nn; + int nchild; term_newln(p); term_word(p, "The"); - for (nn = n->child; nn; nn = nn->next) { + nchild = n->nchild; + + for (n = n->child; n; n = n->next) { term_fontpush(p, TERMFONT_BOLD); - term_word(p, nn->string); + term_word(p, n->string); term_fontpop(p); p->flags |= TERMP_NOSPACE; - if (nn->next && NULL == nn->next->next) - term_word(p, "(), and"); - else if (nn->next) - term_word(p, "(),"); - else - term_word(p, "()"); + term_word(p, "()"); + + if (nchild > 2 && n->next) { + p->flags |= TERMP_NOSPACE; + term_word(p, ","); + } + + if (n->next && NULL == n->next->next) + term_word(p, "and"); } - if (n->child && n->child->next) + if (nchild > 1) term_word(p, "functions return"); else term_word(p, "function returns"); |