summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorschwarze <schwarze@openbsd.org>2015-02-06 16:05:51 +0000
committerschwarze <schwarze@openbsd.org>2015-02-06 16:05:51 +0000
commitbce599dfe3089a24f9a4607724f7f6ab187feffa (patch)
treee223dfbc99895fef889f36e75ca56b9a9c228494
parentearlier rev 1.112 sys/net/if_vlan.c corrects the mapping of 802.1p (diff)
downloadwireguard-openbsd-bce599dfe3089a24f9a4607724f7f6ab187feffa.tar.xz
wireguard-openbsd-bce599dfe3089a24f9a4607724f7f6ab187feffa.zip
replace the last legacy generic message type, "argument count wrong",
by more specific messages, improving diagnostics for .cc .tr .Bl -column
-rw-r--r--regress/usr.bin/mandoc/mdoc/Bl/column.out_lint6
-rw-r--r--regress/usr.bin/mandoc/roff/Makefile4
-rw-r--r--regress/usr.bin/mandoc/roff/cc/Makefile5
-rw-r--r--regress/usr.bin/mandoc/roff/cc/basic.in4
-rw-r--r--regress/usr.bin/mandoc/roff/cc/basic.out_ascii2
-rw-r--r--regress/usr.bin/mandoc/roff/cc/basic.out_lint1
-rw-r--r--regress/usr.bin/mandoc/roff/tr/Makefile6
-rw-r--r--regress/usr.bin/mandoc/roff/tr/args.in16
-rw-r--r--regress/usr.bin/mandoc/roff/tr/args.out_ascii14
-rw-r--r--regress/usr.bin/mandoc/roff/tr/args.out_lint3
-rw-r--r--usr.bin/mandoc/mandoc.h5
-rw-r--r--usr.bin/mandoc/mdoc_validate.c6
-rw-r--r--usr.bin/mandoc/read.c5
-rw-r--r--usr.bin/mandoc/roff.c11
14 files changed, 66 insertions, 22 deletions
diff --git a/regress/usr.bin/mandoc/mdoc/Bl/column.out_lint b/regress/usr.bin/mandoc/mdoc/Bl/column.out_lint
index dd05a01ca23..3cf45c0a208 100644
--- a/regress/usr.bin/mandoc/mdoc/Bl/column.out_lint
+++ b/regress/usr.bin/mandoc/mdoc/Bl/column.out_lint
@@ -1,4 +1,4 @@
-mandoc: column.in:71:2: ERROR: argument count wrong: columns == 2 (have 1)
-mandoc: column.in:74:2: ERROR: argument count wrong: columns == 2 (have 4)
-mandoc: column.in:75:2: ERROR: argument count wrong: columns == 2 (have 5)
+mandoc: column.in:71:2: WARNING: wrong number of cells: 2 columns, 1 cells
+mandoc: column.in:74:2: WARNING: wrong number of cells: 2 columns, 4 cells
+mandoc: column.in:75:2: WARNING: wrong number of cells: 2 columns, 5 cells
mandoc: column.in:78:18: WARNING: skipping -width argument: Bl -column
diff --git a/regress/usr.bin/mandoc/roff/Makefile b/regress/usr.bin/mandoc/roff/Makefile
index 4982bfa9ae2..964742046da 100644
--- a/regress/usr.bin/mandoc/roff/Makefile
+++ b/regress/usr.bin/mandoc/roff/Makefile
@@ -1,7 +1,7 @@
-# $OpenBSD: Makefile,v 1.19 2014/08/14 02:00:53 schwarze Exp $
+# $OpenBSD: Makefile,v 1.20 2015/02/06 16:05:51 schwarze Exp $
SUBDIR = args cond esc scale string
-SUBDIR += br cc de ds ft ig it ll na nr ps rm sp
+SUBDIR += br cc de ds ft ig it ll na nr ps rm sp tr
.include "../Makefile.sub"
.include <bsd.subdir.mk>
diff --git a/regress/usr.bin/mandoc/roff/cc/Makefile b/regress/usr.bin/mandoc/roff/cc/Makefile
index 7e8345d7c30..33951ead8b5 100644
--- a/regress/usr.bin/mandoc/roff/cc/Makefile
+++ b/regress/usr.bin/mandoc/roff/cc/Makefile
@@ -1,5 +1,6 @@
-# $OpenBSD: Makefile,v 1.1 2012/07/07 18:27:36 schwarze Exp $
+# $OpenBSD: Makefile,v 1.2 2015/02/06 16:05:51 schwarze Exp $
-REGRESS_TARGETS = basic
+REGRESS_TARGETS = basic
+LINT_TARGETS = basic
.include <bsd.regress.mk>
diff --git a/regress/usr.bin/mandoc/roff/cc/basic.in b/regress/usr.bin/mandoc/roff/cc/basic.in
index 5f162ffe6f9..ffd1c211b1c 100644
--- a/regress/usr.bin/mandoc/roff/cc/basic.in
+++ b/regress/usr.bin/mandoc/roff/cc/basic.in
@@ -1,4 +1,4 @@
-.TH CC-BASIC 1 "July 7, 21012" OpenBSD
+.TH CC-BASIC 1 "July 7, 2012" OpenBSD
.SH NAME
cc-basic \- basic usage of the cc request
.SH DESCRIPTION
@@ -9,7 +9,7 @@ second
line
:br
third
-:cc ;
+:cc ;bogus
line
;br
fourth
diff --git a/regress/usr.bin/mandoc/roff/cc/basic.out_ascii b/regress/usr.bin/mandoc/roff/cc/basic.out_ascii
index a134843228a..530f1ff2710 100644
--- a/regress/usr.bin/mandoc/roff/cc/basic.out_ascii
+++ b/regress/usr.bin/mandoc/roff/cc/basic.out_ascii
@@ -14,4 +14,4 @@ DDEESSCCRRIIPPTTIIOONN
-OpenBSD July 7, 21012 CC-BASIC(1)
+OpenBSD July 7, 2012 CC-BASIC(1)
diff --git a/regress/usr.bin/mandoc/roff/cc/basic.out_lint b/regress/usr.bin/mandoc/roff/cc/basic.out_lint
new file mode 100644
index 00000000000..f091c5851fa
--- /dev/null
+++ b/regress/usr.bin/mandoc/roff/cc/basic.out_lint
@@ -0,0 +1 @@
+mandoc: basic.in:12:6: ERROR: skipping excess arguments: cc ... bogus
diff --git a/regress/usr.bin/mandoc/roff/tr/Makefile b/regress/usr.bin/mandoc/roff/tr/Makefile
new file mode 100644
index 00000000000..791c27ef205
--- /dev/null
+++ b/regress/usr.bin/mandoc/roff/tr/Makefile
@@ -0,0 +1,6 @@
+# $OpenBSD: Makefile,v 1.1 2015/02/06 16:05:51 schwarze Exp $
+
+REGRESS_TARGETS = args
+LINT_TARGETS = args
+
+.include <bsd.regress.mk>
diff --git a/regress/usr.bin/mandoc/roff/tr/args.in b/regress/usr.bin/mandoc/roff/tr/args.in
new file mode 100644
index 00000000000..1ef074d6bd4
--- /dev/null
+++ b/regress/usr.bin/mandoc/roff/tr/args.in
@@ -0,0 +1,16 @@
+.TH TR-BASIC 1 "February 6, 2015" OpenBSD
+.SH NAME
+tr-args \- arguments of the tr request
+.SH DESCRIPTION
+no argument:
+.tr
+one character:
+.tr x
+>>x<<
+two characters:
+.tr xy
+>>x<<
+three characters:
+.tr xyz
+>>xz<<
+last line
diff --git a/regress/usr.bin/mandoc/roff/tr/args.out_ascii b/regress/usr.bin/mandoc/roff/tr/args.out_ascii
new file mode 100644
index 00000000000..b199ed6b81d
--- /dev/null
+++ b/regress/usr.bin/mandoc/roff/tr/args.out_ascii
@@ -0,0 +1,14 @@
+TR-BASIC(1) General Commands Manual TR-BASIC(1)
+
+
+
+NNAAMMEE
+ tr-args - arguments of the tr request
+
+DDEESSCCRRIIPPTTIIOONN
+ no argument: one character: >> << two characters: >>y<< three
+ characters: >>y << last line
+
+
+
+OpenBSD February 6, 2015 TR-BASIC(1)
diff --git a/regress/usr.bin/mandoc/roff/tr/args.out_lint b/regress/usr.bin/mandoc/roff/tr/args.out_lint
new file mode 100644
index 00000000000..dec14b802a9
--- /dev/null
+++ b/regress/usr.bin/mandoc/roff/tr/args.out_lint
@@ -0,0 +1,3 @@
+mandoc: args.in:6:1: WARNING: skipping empty request: tr
+mandoc: args.in:8:5: WARNING: odd number of characters in request: tr x
+mandoc: args.in:14:7: WARNING: odd number of characters in request: tr z
diff --git a/usr.bin/mandoc/mandoc.h b/usr.bin/mandoc/mandoc.h
index 01cfd80fe10..a05485b3bf4 100644
--- a/usr.bin/mandoc/mandoc.h
+++ b/usr.bin/mandoc/mandoc.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: mandoc.h,v 1.141 2015/02/06 11:54:03 schwarze Exp $ */
+/* $OpenBSD: mandoc.h,v 1.142 2015/02/06 16:05:51 schwarze Exp $ */
/*
* Copyright (c) 2010, 2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2010-2015 Ingo Schwarze <schwarze@openbsd.org>
@@ -117,12 +117,14 @@ enum mandocerr {
MANDOCERR_BD_REP, /* skipping duplicate display type: Bd -type */
MANDOCERR_BL_REP, /* skipping duplicate list type: Bl -type */
MANDOCERR_BL_SKIPW, /* skipping -width argument: Bl -type */
+ MANDOCERR_BL_COL, /* wrong number of cells */
MANDOCERR_AT_BAD, /* unknown AT&T UNIX version: At version */
MANDOCERR_FA_COMMA, /* comma in function argument: arg */
MANDOCERR_FN_PAREN, /* parenthesis in function name: arg */
MANDOCERR_RS_BAD, /* invalid content in Rs block: macro */
MANDOCERR_SM_BAD, /* invalid Boolean argument: macro arg */
MANDOCERR_FT_BAD, /* unknown font, skipping request: ft font */
+ MANDOCERR_TR_ODD, /* odd number of characters in request: tr char */
/* related to plain text */
MANDOCERR_FI_BLANK, /* blank line in fill mode, using .sp */
@@ -167,7 +169,6 @@ enum mandocerr {
/* related to request and macro arguments */
MANDOCERR_NAMESC, /* escaped character not allowed in a name: name */
- MANDOCERR_ARGCOUNT, /* argument count wrong */
MANDOCERR_BD_FILE, /* NOT IMPLEMENTED: Bd -file */
MANDOCERR_BL_NOTYPE, /* missing list type, using -item: Bl */
MANDOCERR_NM_NONAME, /* missing manual name, using "": Nm */
diff --git a/usr.bin/mandoc/mdoc_validate.c b/usr.bin/mandoc/mdoc_validate.c
index 328daf6566d..7dcf7e84aa3 100644
--- a/usr.bin/mandoc/mdoc_validate.c
+++ b/usr.bin/mandoc/mdoc_validate.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mdoc_validate.c,v 1.191 2015/02/06 07:12:34 schwarze Exp $ */
+/* $OpenBSD: mdoc_validate.c,v 1.192 2015/02/06 16:05:51 schwarze Exp $ */
/*
* Copyright (c) 2008-2012 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2010-2015 Ingo Schwarze <schwarze@openbsd.org>
@@ -1212,9 +1212,9 @@ post_it(POST_ARGS)
i++;
if (i < cols || i > cols + 1)
- mandoc_vmsg(MANDOCERR_ARGCOUNT,
+ mandoc_vmsg(MANDOCERR_BL_COL,
mdoc->parse, nit->line, nit->pos,
- "columns == %d (have %d)", cols, i);
+ "%d columns, %d cells", cols, i);
break;
default:
abort();
diff --git a/usr.bin/mandoc/read.c b/usr.bin/mandoc/read.c
index 9fcac06584d..5b148833a2a 100644
--- a/usr.bin/mandoc/read.c
+++ b/usr.bin/mandoc/read.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: read.c,v 1.100 2015/02/06 11:54:03 schwarze Exp $ */
+/* $OpenBSD: read.c,v 1.101 2015/02/06 16:05:51 schwarze Exp $ */
/*
* Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2010-2015 Ingo Schwarze <schwarze@openbsd.org>
@@ -156,12 +156,14 @@ static const char * const mandocerrs[MANDOCERR_MAX] = {
"skipping duplicate display type",
"skipping duplicate list type",
"skipping -width argument",
+ "wrong number of cells",
"unknown AT&T UNIX version",
"comma in function argument",
"parenthesis in function name",
"invalid content in Rs block",
"invalid Boolean argument",
"unknown font, skipping request",
+ "odd number of characters in request",
/* related to plain text */
"blank line in fill mode, using .sp",
@@ -206,7 +208,6 @@ static const char * const mandocerrs[MANDOCERR_MAX] = {
/* related to request and macro arguments */
"escaped character not allowed in a name",
- "argument count wrong",
"NOT IMPLEMENTED: Bd -file",
"missing list type, using -item",
"missing manual name, using \"\"",
diff --git a/usr.bin/mandoc/roff.c b/usr.bin/mandoc/roff.c
index ee692b196f8..f9df10f4429 100644
--- a/usr.bin/mandoc/roff.c
+++ b/usr.bin/mandoc/roff.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: roff.c,v 1.131 2015/01/30 00:19:26 schwarze Exp $ */
+/* $OpenBSD: roff.c,v 1.132 2015/02/06 16:05:51 schwarze Exp $ */
/*
* Copyright (c) 2010, 2011, 2012, 2014 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2010-2015 Ingo Schwarze <schwarze@openbsd.org>
@@ -2536,7 +2536,8 @@ roff_cc(ROFF_ARGS)
r->control = 0;
if (*p != '\0')
- mandoc_msg(MANDOCERR_ARGCOUNT, r->parse, ln, ppos, NULL);
+ mandoc_vmsg(MANDOCERR_ARG_EXCESS, r->parse,
+ ln, p - buf->buf, "cc ... %s", p);
return(ROFF_IGN);
}
@@ -2551,7 +2552,7 @@ roff_tr(ROFF_ARGS)
p = buf->buf + pos;
if (*p == '\0') {
- mandoc_msg(MANDOCERR_ARGCOUNT, r->parse, ln, ppos, NULL);
+ mandoc_msg(MANDOCERR_REQ_EMPTY, r->parse, ln, ppos, "tr");
return(ROFF_IGN);
}
@@ -2579,8 +2580,8 @@ roff_tr(ROFF_ARGS)
}
ssz = (size_t)(p - second);
} else if (*second == '\0') {
- mandoc_msg(MANDOCERR_ARGCOUNT, r->parse,
- ln, (int)(p - buf->buf), NULL);
+ mandoc_vmsg(MANDOCERR_TR_ODD, r->parse,
+ ln, first - buf->buf, "tr %s", first);
second = " ";
p--;
}