-.Dd September 15, 2013
+.Dd June 27, 2017
.Dt NS-POSITION 1
.Os OpenBSD
.Sh NAME
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
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
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)
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
-.\" $OpenBSD: mandoc.1,v 1.131 2017/06/25 17:42:37 schwarze Exp $
+.\" $OpenBSD: mandoc.1,v 1.132 2017/06/27 12:17:35 schwarze Exp $
.\"
.\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
.\" Copyright (c) 2012, 2014-2017 Ingo Schwarze <schwarze@openbsd.org>
.\" 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
.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
-/* $OpenBSD: mdoc_validate.c,v 1.258 2017/06/25 17:42:37 schwarze Exp $ */
+/* $OpenBSD: mdoc_validate.c,v 1.259 2017/06/27 12:17:35 schwarze Exp $ */
/*
* Copyright (c) 2008-2012 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2010-2017 Ingo Schwarze <schwarze@openbsd.org>
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