=================================================================== RCS file: /cvs/mandoc/read.c,v retrieving revision 1.113 retrieving revision 1.118 diff -u -p -r1.113 -r1.118 --- mandoc/read.c 2015/01/22 19:26:50 1.113 +++ mandoc/read.c 2015/01/26 18:42:30 1.118 @@ -1,4 +1,4 @@ -/* $Id: read.c,v 1.113 2015/01/22 19:26:50 schwarze Exp $ */ +/* $Id: read.c,v 1.118 2015/01/26 18:42:30 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons * Copyright (c) 2010-2015 Ingo Schwarze @@ -171,6 +171,11 @@ static const char * const mandocerrs[MANDOCERR_MAX] = "invalid escape sequence", "undefined string, using \"\"", + /* related to tables */ + "tbl line starts with span", + "tbl column starts with span", + "skipping vertical bar in tbl layout", + "generic error", /* related to equations */ @@ -180,7 +185,13 @@ static const char * const mandocerrs[MANDOCERR_MAX] = "unexpected end of equation", /* related to tables */ - "no table layout cells specified", + "non-alphabetic character in tbl options", + "skipping unknown tbl option", + "missing tbl option argument", + "wrong tbl option argument size", + "empty tbl layout", + "invalid character in tbl layout", + "unmatched parenthesis in tbl layout", "no table data cells specified", "ignore data in cell", "data block still open", @@ -195,6 +206,7 @@ static const char * const mandocerrs[MANDOCERR_MAX] = "skipping item outside list", "skipping column outside column list", "skipping end of block that is not open", + "fewer RS blocks open, skipping", "inserting missing end of block", "appending missing end of block", @@ -215,11 +227,11 @@ static const char * const mandocerrs[MANDOCERR_MAX] = "unsupported feature", "input too large", + "unsupported control character", "unsupported roff request", - "unsupported table syntax", - "unsupported table option", - "unsupported table layout", + "unsupported tbl layout modifier", "ignoring macro in table", + "eqn in tbl", }; static const char * const mandoclevels[MANDOCLEVEL_MAX] = { @@ -369,9 +381,8 @@ mparse_buf_r(struct mparse *curp, struct buf blk, size if (c & 0x80) { if ( ! (curp->filenc && preconv_encode( &blk, &i, &ln, &pos, &curp->filenc))) { - mandoc_vmsg(MANDOCERR_BADCHAR, - curp, curp->line, pos, - "0x%x", c); + mandoc_vmsg(MANDOCERR_CHAR_BAD, curp, + curp->line, pos, "0x%x", c); ln.buf[pos++] = '?'; i++; } @@ -383,8 +394,10 @@ mparse_buf_r(struct mparse *curp, struct buf blk, size */ if (c == 0x7f || (c < 0x20 && c != 0x09)) { - mandoc_vmsg(MANDOCERR_BADCHAR, curp, - curp->line, pos, "0x%x", c); + mandoc_vmsg(c == 0x00 || c == 0x04 || + c > 0x0a ? MANDOCERR_CHAR_BAD : + MANDOCERR_CHAR_UNSUPP, + curp, curp->line, pos, "0x%x", c); i++; ln.buf[pos++] = '?'; continue; @@ -440,7 +453,7 @@ mparse_buf_r(struct mparse *curp, struct buf blk, size if ( ! (isascii(c) && (isgraph(c) || isblank(c)))) { - mandoc_vmsg(MANDOCERR_BADCHAR, curp, + mandoc_vmsg(MANDOCERR_CHAR_BAD, curp, curp->line, pos, "0x%x", c); i += 2; ln.buf[pos++] = '?';