summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorschwarze <schwarze@openbsd.org>2014-10-20 15:49:45 +0000
committerschwarze <schwarze@openbsd.org>2014-10-20 15:49:45 +0000
commit7c46d8a6f75a1304ddc3e4e6645e2d28da9ce989 (patch)
tree901d84c6cf1f2a6a04ecd6d76e51df70867d4762
parentcorrectly parse spacing around in-line equations (diff)
downloadwireguard-openbsd-7c46d8a6f75a1304ddc3e4e6645e2d28da9ce989.tar.xz
wireguard-openbsd-7c46d8a6f75a1304ddc3e4e6645e2d28da9ce989.zip
correct the spacing after in-line equations
that start at the beginning of an input line but end before the end of an input line
-rw-r--r--usr.bin/mandoc/man.c5
-rw-r--r--usr.bin/mandoc/man_term.c4
-rw-r--r--usr.bin/mandoc/mdoc.c5
-rw-r--r--usr.bin/mandoc/mdoc_term.c4
4 files changed, 10 insertions, 8 deletions
diff --git a/usr.bin/mandoc/man.c b/usr.bin/mandoc/man.c
index 5293d8f3517..87f0310c5d1 100644
--- a/usr.bin/mandoc/man.c
+++ b/usr.bin/mandoc/man.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: man.c,v 1.88 2014/10/20 02:31:44 schwarze Exp $ */
+/* $OpenBSD: man.c,v 1.89 2014/10/20 15:49:45 schwarze Exp $ */
/*
* Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2013, 2014 Ingo Schwarze <schwarze@openbsd.org>
@@ -117,7 +117,8 @@ int
man_parseln(struct man *man, int ln, char *buf, int offs)
{
- man->flags |= MAN_NEWLINE;
+ if (man->last->type != MAN_EQN || ln > man->last->line)
+ man->flags |= MAN_NEWLINE;
return (roff_getcontrol(man->roff, buf, &offs) ?
man_pmacro(man, ln, buf, offs) :
diff --git a/usr.bin/mandoc/man_term.c b/usr.bin/mandoc/man_term.c
index 32f391d4522..e7dc414766e 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.106 2014/10/20 02:46:00 schwarze Exp $ */
+/* $OpenBSD: man_term.c,v 1.107 2014/10/20 15:49:45 schwarze Exp $ */
/*
* Copyright (c) 2008-2012 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2010-2014 Ingo Schwarze <schwarze@openbsd.org>
@@ -988,7 +988,7 @@ print_man_node(DECL_ARGS)
if ( ! (n->flags & MAN_LINE))
p->flags |= TERMP_NOSPACE;
term_eqn(p, n->eqn);
- if ( ! (n->flags & MAN_LINE))
+ if (n->next != NULL && ! (n->next->flags & MAN_LINE))
p->flags |= TERMP_NOSPACE;
return;
case MAN_TBL:
diff --git a/usr.bin/mandoc/mdoc.c b/usr.bin/mandoc/mdoc.c
index 7368dedca61..ee77219710c 100644
--- a/usr.bin/mandoc/mdoc.c
+++ b/usr.bin/mandoc/mdoc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mdoc.c,v 1.116 2014/10/20 02:31:44 schwarze Exp $ */
+/* $OpenBSD: mdoc.c,v 1.117 2014/10/20 15:49:45 schwarze Exp $ */
/*
* Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2010, 2012, 2013, 2014 Ingo Schwarze <schwarze@openbsd.org>
@@ -236,7 +236,8 @@ int
mdoc_parseln(struct mdoc *mdoc, int ln, char *buf, int offs)
{
- mdoc->flags |= MDOC_NEWLINE;
+ if (mdoc->last->type != MDOC_EQN || ln > mdoc->last->line)
+ mdoc->flags |= MDOC_NEWLINE;
/*
* Let the roff nS register switch SYNOPSIS mode early,
diff --git a/usr.bin/mandoc/mdoc_term.c b/usr.bin/mandoc/mdoc_term.c
index ee8756fb558..ca209b37961 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.184 2014/10/20 02:46:00 schwarze Exp $ */
+/* $OpenBSD: mdoc_term.c,v 1.185 2014/10/20 15:49:45 schwarze Exp $ */
/*
* Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2010, 2012, 2013, 2014 Ingo Schwarze <schwarze@openbsd.org>
@@ -345,7 +345,7 @@ print_mdoc_node(DECL_ARGS)
if ( ! (n->flags & MDOC_LINE))
p->flags |= TERMP_NOSPACE;
term_eqn(p, n->eqn);
- if ( ! (n->flags & MDOC_LINE))
+ if (n->next != NULL && ! (n->next->flags & MDOC_LINE))
p->flags |= TERMP_NOSPACE;
break;
case MDOC_TBL: