in the base system, suggest leaving .Os blank; inspired by mdoclint
authorschwarze <schwarze@openbsd.org>
Sat, 24 Jun 2017 15:59:28 +0000 (15:59 +0000)
committerschwarze <schwarze@openbsd.org>
Sat, 24 Jun 2017 15:59:28 +0000 (15:59 +0000)
usr.bin/mandoc/mandoc.1
usr.bin/mandoc/mandoc.h
usr.bin/mandoc/mdoc_validate.c
usr.bin/mandoc/read.c

index c53c138..c41e431 100644 (file)
@@ -1,4 +1,4 @@
-.\"    $OpenBSD: mandoc.1,v 1.126 2017/06/24 14:38:27 schwarze Exp $
+.\"    $OpenBSD: mandoc.1,v 1.127 2017/06/24 15:59:28 schwarze Exp $
 .\"
 .\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
 .\" Copyright (c) 2012, 2014-2017 Ingo Schwarze <schwarze@openbsd.org>
@@ -816,6 +816,12 @@ macro does not use CVS
 keyword substitution, but using it is conventionally expected in the
 .Ox
 base system.
+.It Sy "operating system explicitly specified"
+.Pq mdoc , Ox , Nx
+The
+.Ic \&Os
+macro has an argument.
+In the base system, it is conventionally left blank.
 .It Sy "RCS id missing"
 .Pq Ox , Nx
 The manual page lacks the comment line with the RCS identifier
index f735909..cb6ffea 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: mandoc.h,v 1.175 2017/06/24 14:38:27 schwarze Exp $ */
+/*     $OpenBSD: mandoc.h,v 1.176 2017/06/24 15:59:28 schwarze Exp $ */
 /*
  * Copyright (c) 2010, 2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2010-2017 Ingo Schwarze <schwarze@openbsd.org>
@@ -48,6 +48,7 @@ enum  mandocerr {
 
        MANDOCERR_MDOCDATE, /* Mdocdate found: Dd ... */
        MANDOCERR_MDOCDATE_MISSING, /* Mdocdate missing: Dd ... */
+       MANDOCERR_OS_ARG,  /* operating system explicitly specified: Os ... */
        MANDOCERR_RCS_MISSING, /* RCS id missing */
 
        MANDOCERR_STYLE, /* ===== start of style suggestions ===== */
index a4ef3b5..212af6c 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: mdoc_validate.c,v 1.255 2017/06/24 14:38:27 schwarze Exp $ */
+/*     $OpenBSD: mdoc_validate.c,v 1.256 2017/06/24 15:59:28 schwarze Exp $ */
 /*
  * Copyright (c) 2008-2012 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2010-2017 Ingo Schwarze <schwarze@openbsd.org>
@@ -2569,6 +2569,13 @@ out:
         * the operating system earlier.
         */
 
+       if (n->child != NULL)
+               mandoc_vmsg(MANDOCERR_OS_ARG, mdoc->parse,
+                   n->child->line, n->child->pos,
+                   "Os %s (%s)", n->child->string,
+                   mdoc->meta.os_e == MANDOC_OS_OPENBSD ?
+                   "OpenBSD" : "NetBSD");
+
        while (n->tok != MDOC_Dd)
                if ((n = n->prev) == NULL)
                        return;
index 16fabd1..40826ec 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: read.c,v 1.151 2017/06/24 14:38:28 schwarze Exp $ */
+/*     $OpenBSD: read.c,v 1.152 2017/06/24 15:59:28 schwarze Exp $ */
 /*
  * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2010-2017 Ingo Schwarze <schwarze@openbsd.org>
@@ -86,6 +86,7 @@ static        const char * const      mandocerrs[MANDOCERR_MAX] = {
 
        "Mdocdate found",
        "Mdocdate missing",
+       "operating system explicitly specified",
        "RCS id missing",
 
        "generic style suggestion",