diff options
-rw-r--r-- | usr.bin/mandoc/man.c | 4 | ||||
-rw-r--r-- | usr.bin/mandoc/man_term.c | 4 | ||||
-rw-r--r-- | usr.bin/mandoc/mdoc.c | 4 | ||||
-rw-r--r-- | usr.bin/mandoc/mdoc_term.c | 4 | ||||
-rw-r--r-- | usr.bin/mandoc/roff.c | 16 |
5 files changed, 16 insertions, 16 deletions
diff --git a/usr.bin/mandoc/man.c b/usr.bin/mandoc/man.c index 5905deebf56..5293d8f3517 100644 --- a/usr.bin/mandoc/man.c +++ b/usr.bin/mandoc/man.c @@ -1,4 +1,4 @@ -/* $OpenBSD: man.c,v 1.87 2014/09/06 23:24:27 schwarze Exp $ */ +/* $OpenBSD: man.c,v 1.88 2014/10/20 02:31:44 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2013, 2014 Ingo Schwarze <schwarze@openbsd.org> @@ -343,6 +343,8 @@ man_addeqn(struct man *man, const struct eqn *ep) n = man_node_alloc(man, ep->ln, ep->pos, MAN_EQN, MAN_MAX); n->eqn = ep; + if (ep->ln > man->last->line) + n->flags |= MAN_LINE; if ( ! man_node_append(man, n)) return(0); diff --git a/usr.bin/mandoc/man_term.c b/usr.bin/mandoc/man_term.c index 0555e9931df..12fc5e6d6bd 100644 --- a/usr.bin/mandoc/man_term.c +++ b/usr.bin/mandoc/man_term.c @@ -1,4 +1,4 @@ -/* $OpenBSD: man_term.c,v 1.104 2014/09/03 05:17:08 schwarze Exp $ */ +/* $OpenBSD: man_term.c,v 1.105 2014/10/20 02:31:44 schwarze Exp $ */ /* * Copyright (c) 2008-2012 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2010-2014 Ingo Schwarze <schwarze@openbsd.org> @@ -985,6 +985,8 @@ print_man_node(DECL_ARGS) goto out; case MAN_EQN: + if ( ! (n->flags & MAN_LINE)) + p->flags |= TERMP_NOSPACE; term_eqn(p, n->eqn); return; case MAN_TBL: diff --git a/usr.bin/mandoc/mdoc.c b/usr.bin/mandoc/mdoc.c index ee6b8d90326..7368dedca61 100644 --- a/usr.bin/mandoc/mdoc.c +++ b/usr.bin/mandoc/mdoc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: mdoc.c,v 1.115 2014/10/16 01:10:06 schwarze Exp $ */ +/* $OpenBSD: mdoc.c,v 1.116 2014/10/20 02:31:44 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2010, 2012, 2013, 2014 Ingo Schwarze <schwarze@openbsd.org> @@ -203,6 +203,8 @@ mdoc_addeqn(struct mdoc *mdoc, const struct eqn *ep) n = node_alloc(mdoc, ep->ln, ep->pos, MDOC_MAX, MDOC_EQN); n->eqn = ep; + if (ep->ln > mdoc->last->line) + n->flags |= MDOC_LINE; if ( ! node_append(mdoc, n)) return(0); diff --git a/usr.bin/mandoc/mdoc_term.c b/usr.bin/mandoc/mdoc_term.c index 02ddb33eb86..60878c964b9 100644 --- a/usr.bin/mandoc/mdoc_term.c +++ b/usr.bin/mandoc/mdoc_term.c @@ -1,4 +1,4 @@ -/* $OpenBSD: mdoc_term.c,v 1.182 2014/10/13 22:00:42 schwarze Exp $ */ +/* $OpenBSD: mdoc_term.c,v 1.183 2014/10/20 02:31:44 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2010, 2012, 2013, 2014 Ingo Schwarze <schwarze@openbsd.org> @@ -342,6 +342,8 @@ 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); break; case MDOC_TBL: diff --git a/usr.bin/mandoc/roff.c b/usr.bin/mandoc/roff.c index 831357989c9..c65fa2f009c 100644 --- a/usr.bin/mandoc/roff.c +++ b/usr.bin/mandoc/roff.c @@ -1,4 +1,4 @@ -/* $OpenBSD: roff.c,v 1.103 2014/10/16 01:27:48 schwarze Exp $ */ +/* $OpenBSD: roff.c,v 1.104 2014/10/20 02:31:44 schwarze Exp $ */ /* * Copyright (c) 2010, 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2010-2014 Ingo Schwarze <schwarze@openbsd.org> @@ -1870,19 +1870,11 @@ roff_eqndelim(struct roff *r, char **bufp, size_t *szp, int pos) if (cp2 == NULL) return(ROFF_CONT); - /* Found a delimiter; get rid of surrounding blanks. */ - - cp1 = cp2++; - while (cp2[0] == ' ') - cp2++; - while (cp1[-1] == ' ') - cp1--; - *cp1 = '\0'; - /* Replace the delimiter with an equation macro. */ - *szp = mandoc_asprintf(&cp1, "%s\n.E%s%s", *bufp, - r->eqn == NULL ? "Q\n" : "N\n\\&", cp2) + 1; + *cp2++ = '\0'; + *szp = mandoc_asprintf(&cp1, "%s%s%s", *bufp, + r->eqn == NULL ? "\\&\n.EQ\n" : "\n.EN\n\\&", cp2) + 1; free(*bufp); *bufp = cp1; |