aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--mandoc.18
-rw-r--r--mdoc_validate.c9
-rw-r--r--regress/mdoc/Ns/position.in8
-rw-r--r--regress/mdoc/Ns/position.out_ascii6
-rw-r--r--regress/mdoc/Ns/position.out_lint3
-rw-r--r--regress/mdoc/Ns/position.out_markdown8
6 files changed, 32 insertions, 10 deletions
diff --git a/mandoc.1 b/mandoc.1
index 156db98d..7ac89ed9 100644
--- a/mandoc.1
+++ b/mandoc.1
@@ -1,4 +1,4 @@
-.\" $Id: mandoc.1,v 1.207 2017/06/25 17:43:45 schwarze Exp $
+.\" $Id: mandoc.1,v 1.208 2017/06/27 12:18:00 schwarze Exp $
.\"
.\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
.\" Copyright (c) 2012, 2014-2017 Ingo Schwarze <schwarze@openbsd.org>
@@ -15,7 +15,7 @@
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
-.Dd $Mdocdate: June 25 2017 $
+.Dd $Mdocdate: June 27 2017 $
.Dt MANDOC 1
.Os
.Sh NAME
@@ -1175,7 +1175,9 @@ The paragraph macro is moved after the end of the list.
.Pq mdoc
An input line begins with an
.Ic \&Ns
-macro.
+macro, or the next argument after an
+.Ic \&Ns
+macro is an isolated closing delimiter.
The macro is ignored.
.It Sy "blocks badly nested"
.Pq mdoc
diff --git a/mdoc_validate.c b/mdoc_validate.c
index 08f23583..a7d91ec0 100644
--- a/mdoc_validate.c
+++ b/mdoc_validate.c
@@ -1,4 +1,4 @@
-/* $Id: mdoc_validate.c,v 1.343 2017/06/25 17:43:45 schwarze Exp $ */
+/* $Id: mdoc_validate.c,v 1.344 2017/06/27 12:18:00 schwarze Exp $ */
/*
* Copyright (c) 2008-2012 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2010-2017 Ingo Schwarze <schwarze@openbsd.org>
@@ -1983,10 +1983,13 @@ post_hyph(POST_ARGS)
static void
post_ns(POST_ARGS)
{
+ struct roff_node *n;
- if (mdoc->last->flags & NODE_LINE)
+ n = mdoc->last;
+ if (n->flags & NODE_LINE ||
+ (n->next != NULL && n->next->flags & NODE_DELIMC))
mandoc_msg(MANDOCERR_NS_SKIP, mdoc->parse,
- mdoc->last->line, mdoc->last->pos, NULL);
+ n->line, n->pos, NULL);
}
static void
diff --git a/regress/mdoc/Ns/position.in b/regress/mdoc/Ns/position.in
index 1325df25..56fc5de6 100644
--- a/regress/mdoc/Ns/position.in
+++ b/regress/mdoc/Ns/position.in
@@ -1,4 +1,4 @@
-.Dd September 15, 2013
+.Dd June 27, 2017
.Dt NS-POSITION 1
.Os OpenBSD
.Sh NAME
@@ -20,6 +20,12 @@ After some macro and a block closing:
In the middle of a macro line:
.Oo before Oc Ns Op after
.Pp
+After closing punctuation:
+.Oo before Oc : Ns Op after
+.Pp
+Before closing punctuation:
+.Oo before Oc Ns : Op after
+.Pp
At the end of a macro line:
.Oo before Oc Ns
.Op after
diff --git a/regress/mdoc/Ns/position.out_ascii b/regress/mdoc/Ns/position.out_ascii
index a2bd6c45..26de0562 100644
--- a/regress/mdoc/Ns/position.out_ascii
+++ b/regress/mdoc/Ns/position.out_ascii
@@ -12,8 +12,12 @@ DDEESSCCRRIIPPTTIIOONN
In the middle of a macro line: [before][after]
+ After closing punctuation: [before]:[after]
+
+ Before closing punctuation: [before]: [after]
+
At the end of a macro line: [before][after]
At the end of partial implicit: [before][after]
-OpenBSD September 15, 2013 OpenBSD
+OpenBSD June 27, 2017 OpenBSD
diff --git a/regress/mdoc/Ns/position.out_lint b/regress/mdoc/Ns/position.out_lint
index 91695895..aa1f3275 100644
--- a/regress/mdoc/Ns/position.out_lint
+++ b/regress/mdoc/Ns/position.out_lint
@@ -1,4 +1,5 @@
mandoc: position.in:3:5: BASE: operating system explicitly specified: Os OpenBSD (OpenBSD)
-mandoc: position.in:1:5: BASE: Mdocdate missing: Dd September (OpenBSD)
+mandoc: position.in:1:5: BASE: Mdocdate missing: Dd June (OpenBSD)
mandoc: position.in:10:2: WARNING: skipping no-space macro
+mandoc: position.in:27:15: WARNING: skipping no-space macro
mandoc: position.in: BASE: RCS id missing: (OpenBSD)
diff --git a/regress/mdoc/Ns/position.out_markdown b/regress/mdoc/Ns/position.out_markdown
index 14414a3e..8b6c509c 100644
--- a/regress/mdoc/Ns/position.out_markdown
+++ b/regress/mdoc/Ns/position.out_markdown
@@ -20,10 +20,16 @@ still before]\[after]
In the middle of a macro line:
\[before]\[after]
+After closing punctuation:
+\[before]:\[after]
+
+Before closing punctuation:
+\[before]: \[after]
+
At the end of a macro line:
\[before]\[after]
At the end of partial implicit:
\[before]\[after]
-OpenBSD - September 15, 2013
+OpenBSD - June 27, 2017