=================================================================== RCS file: /cvs/mandoc/eqn_term.c,v retrieving revision 1.16 retrieving revision 1.18 diff -u -p -r1.16 -r1.18 --- mandoc/eqn_term.c 2017/08/23 20:49:15 1.16 +++ mandoc/eqn_term.c 2018/10/02 12:18:33 1.18 @@ -1,4 +1,4 @@ -/* $Id: eqn_term.c,v 1.16 2017/08/23 20:49:15 schwarze Exp $ */ +/* $Id: eqn_term.c,v 1.18 2018/10/02 12:18:33 schwarze Exp $ */ /* * Copyright (c) 2011 Kristaps Dzonsons * Copyright (c) 2014, 2015, 2017 Ingo Schwarze @@ -96,15 +96,17 @@ eqn_box(struct termp *p, const struct eqn_box *bp) p->flags |= TERMP_NOSPACE; term_word(p, bp->text); if ((cp = strchr(bp->text, '\0')) > bp->text && - ((cp[-1] == '-' && bp->prev == NULL) || - strchr("\"'([{", cp[-1]) != NULL)) + (strchr("\"'([{", cp[-1]) != NULL || + (bp->prev == NULL && (cp[-1] == '-' || + (cp >= bp->text + 5 && + strcmp(cp - 5, "\\[mi]") == 0))))) p->flags |= TERMP_NOSPACE; } /* Special box types. */ if (bp->pos == EQNPOS_SQRT) { - term_word(p, "sqrt"); + term_word(p, "\\(sr"); if (bp->first != NULL) { p->flags |= TERMP_NOSPACE; eqn_box(p, bp->first);