aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/eqn_term.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2017-08-23 20:49:15 +0000
committerIngo Schwarze <schwarze@openbsd.org>2017-08-23 20:49:15 +0000
commitdd58bb87ae1e6e8e50fb78516797ec7709c92b7a (patch)
treeb3cc6fbf00df4f71e088b0a5347fffd9f96d67d6 /eqn_term.c
parent14c1a384c48064113cff2153aac95534f1b5c0e3 (diff)
downloadmandoc-dd58bb87ae1e6e8e50fb78516797ec7709c92b7a.tar.gz
mandoc-dd58bb87ae1e6e8e50fb78516797ec7709c92b7a.tar.zst
mandoc-dd58bb87ae1e6e8e50fb78516797ec7709c92b7a.zip
remove spacing after unary minus
Diffstat (limited to 'eqn_term.c')
-rw-r--r--eqn_term.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/eqn_term.c b/eqn_term.c
index d7bc700f..1b702841 100644
--- a/eqn_term.c
+++ b/eqn_term.c
@@ -1,4 +1,4 @@
-/* $Id: eqn_term.c,v 1.15 2017/08/23 20:29:42 schwarze Exp $ */
+/* $Id: eqn_term.c,v 1.16 2017/08/23 20:49:15 schwarze Exp $ */
/*
* Copyright (c) 2011 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2014, 2015, 2017 Ingo Schwarze <schwarze@openbsd.org>
@@ -52,6 +52,7 @@ static void
eqn_box(struct termp *p, const struct eqn_box *bp)
{
const struct eqn_box *child;
+ const char *cp;
int delim;
/* Delimiters around this box? */
@@ -94,8 +95,9 @@ eqn_box(struct termp *p, const struct eqn_box *bp)
if (strchr("!\"'),.:;?]}", *bp->text) != NULL)
p->flags |= TERMP_NOSPACE;
term_word(p, bp->text);
- if (*bp->text != '\0' && strchr("\"'([{",
- bp->text[strlen(bp->text) - 1]) != NULL)
+ if ((cp = strchr(bp->text, '\0')) > bp->text &&
+ ((cp[-1] == '-' && bp->prev == NULL) ||
+ strchr("\"'([{", cp[-1]) != NULL))
p->flags |= TERMP_NOSPACE;
}