=================================================================== RCS file: /cvs/mandoc/mdoc_term.c,v retrieving revision 1.282 retrieving revision 1.286 diff -u -p -r1.282 -r1.286 --- mandoc/mdoc_term.c 2014/09/17 20:18:58 1.282 +++ mandoc/mdoc_term.c 2014/10/20 15:50:24 1.286 @@ -1,4 +1,4 @@ -/* $Id: mdoc_term.c,v 1.282 2014/09/17 20:18:58 schwarze Exp $ */ +/* $Id: mdoc_term.c,v 1.286 2014/10/20 15:50:24 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons * Copyright (c) 2010, 2012, 2013, 2014 Ingo Schwarze @@ -344,7 +344,11 @@ print_mdoc_node(DECL_ARGS) p->flags |= TERMP_NOSPACE; break; case MDOC_EQN: + if ( ! (n->flags & MDOC_LINE)) + p->flags |= TERMP_NOSPACE; term_eqn(p, n->eqn); + if (n->next != NULL && ! (n->next->flags & MDOC_LINE)) + p->flags |= TERMP_NOSPACE; break; case MDOC_TBL: term_tbl(p, n->span); @@ -541,8 +545,10 @@ a2width(const struct termp *p, const char *v) struct roffsu su; assert(v); - if ( ! a2roffsu(v, &su, SCALE_MAX)) + if ( ! a2roffsu(v, &su, SCALE_MAX)) { SCALE_HS_INIT(&su, term_strlen(p, v)); + su.scale /= term_strlen(p, "0"); + } return(term_hspan(p, &su)); } @@ -560,8 +566,10 @@ a2offs(const struct termp *p, const char *v) return(term_len(p, p->defindent + 1)); else if (0 == strcmp(v, "indent-two")) return(term_len(p, (p->defindent + 1) * 2)); - else if ( ! a2roffsu(v, &su, SCALE_MAX)) + else if ( ! a2roffsu(v, &su, SCALE_MAX)) { SCALE_HS_INIT(&su, term_strlen(p, v)); + su.scale /= term_strlen(p, "0"); + } return(term_hspan(p, &su)); }