=================================================================== RCS file: /cvs/mandoc/mdoc_term.c,v retrieving revision 1.212 retrieving revision 1.215 diff -u -p -r1.212 -r1.215 --- mandoc/mdoc_term.c 2011/01/25 15:28:56 1.212 +++ mandoc/mdoc_term.c 2011/02/02 21:40:45 1.215 @@ -1,4 +1,4 @@ -/* $Id: mdoc_term.c,v 1.212 2011/01/25 15:28:56 kristaps Exp $ */ +/* $Id: mdoc_term.c,v 1.215 2011/02/02 21:40:45 kristaps Exp $ */ /* * Copyright (c) 2008, 2009, 2010 Kristaps Dzonsons * Copyright (c) 2010 Ingo Schwarze @@ -1151,7 +1151,8 @@ static int termp_ns_pre(DECL_ARGS) { - p->flags |= TERMP_NOSPACE; + if ( ! (MDOC_LINE & n->flags)) + p->flags |= TERMP_NOSPACE; return(1); } @@ -1677,7 +1678,6 @@ termp_bd_post(DECL_ARGS) static int termp_bx_pre(DECL_ARGS) { - char buf[3]; if (NULL != (n = n->child)) { term_word(p, n->string); @@ -1689,14 +1689,10 @@ termp_bx_pre(DECL_ARGS) } if (NULL != (n = n->next)) { - buf[0] = '-'; - buf[1] = toupper((unsigned char)*n->string); - buf[2] = '\0'; - p->flags |= TERMP_NOSPACE; - term_word(p, buf); + term_word(p, "-"); p->flags |= TERMP_NOSPACE; - term_word(p, n->string + 1); + term_word(p, n->string); } return(0); @@ -1733,9 +1729,13 @@ termp_xx_pre(DECL_ARGS) break; } - assert(pp); term_word(p, pp); - return(1); + if (n->child) { + p->flags |= TERMP_KEEP; + term_word(p, n->child->string); + p->flags &= ~TERMP_KEEP; + } + return(0); }