summaryrefslogtreecommitdiffstats
path: root/read.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2015-01-20 21:16:51 +0000
committerIngo Schwarze <schwarze@openbsd.org>2015-01-20 21:16:51 +0000
commit222b2747ea0806609b71ff5fa9a4c6f21ddc3c46 (patch)
tree056a00f20a99a44fa9017101a00d94f962a4d8fd /read.c
parent7b1d8d6cb19169cc19bdb9708793a3cbedf63b81 (diff)
downloadmandoc-222b2747ea0806609b71ff5fa9a4c6f21ddc3c46.tar.gz
Split the -Werror message level into -Werror (broken manual, probably
using mandoc is better than using groff) and -Wunsupp (manual using unsupported low-level roff(7) feature, probably using groff is better than using mandoc). Once this feature is complete, it is intended to help porting, making the decision whether to USE_GROFF easier. As a first step, distinguish four classes of roff(7) requests: 1. Supported (currently 24 requests) 2. Currently ignored because unimportant (120) -> no message 3. Ignored for good because insecure (14) -> -Werror 4. Currently unsupported (68) -> these trigger the new -Wunsupp messages
Diffstat (limited to 'read.c')
-rw-r--r--read.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/read.c b/read.c
index 7ff77224..42aaca7d 100644
--- a/read.c
+++ b/read.c
@@ -80,7 +80,7 @@ static const enum mandocerr mandoclimits[MANDOCLEVEL_MAX] = {
MANDOCERR_WARNING,
MANDOCERR_WARNING,
MANDOCERR_ERROR,
- MANDOCERR_MAX,
+ MANDOCERR_UNSUPP,
MANDOCERR_MAX,
MANDOCERR_MAX
};
@@ -180,22 +180,18 @@ static const char * const mandocerrs[MANDOCERR_MAX] = {
"unexpected end of equation",
/* related to tables */
- "bad table syntax",
- "bad table option",
- "bad table layout",
"no table layout cells specified",
"no table data cells specified",
"ignore data in cell",
"data block still open",
"ignoring extra data cells",
- "ignoring macro in table",
/* related to document structure and macros */
NULL,
- "input too large",
"input stack limit exceeded, infinite loop?",
"skipping bad character",
"skipping unknown macro",
+ "skipping insecure request",
"skipping item outside list",
"skipping column outside column list",
"skipping end of block that is not open",
@@ -216,6 +212,14 @@ static const char * const mandocerrs[MANDOCERR_MAX] = {
"skipping all arguments",
"skipping excess arguments",
"divide by zero",
+
+ "unsupported feature",
+ "input too large",
+ "unsupported roff request",
+ "unsupported table syntax",
+ "unsupported table option",
+ "unsupported table layout",
+ "ignoring macro in table",
};
static const char * const mandoclevels[MANDOCLEVEL_MAX] = {
@@ -223,7 +227,7 @@ static const char * const mandoclevels[MANDOCLEVEL_MAX] = {
"RESERVED",
"WARNING",
"ERROR",
- "FATAL",
+ "UNSUPP",
"BADARG",
"SYSERR"
};
@@ -958,7 +962,7 @@ mandoc_msg(enum mandocerr er, struct mparse *m,
{
enum mandoclevel level;
- level = MANDOCLEVEL_ERROR;
+ level = MANDOCLEVEL_UNSUPP;
while (er < mandoclimits[level])
level--;