=================================================================== RCS file: /cvs/mandoc/read.c,v retrieving revision 1.185 retrieving revision 1.191 diff -u -p -r1.185 -r1.191 --- mandoc/read.c 2017/07/02 15:31:59 1.185 +++ mandoc/read.c 2017/07/08 17:52:50 1.191 @@ -1,4 +1,4 @@ -/* $Id: read.c,v 1.185 2017/07/02 15:31:59 schwarze Exp $ */ +/* $Id: read.c,v 1.191 2017/07/08 17:52:50 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons * Copyright (c) 2010-2017 Ingo Schwarze @@ -42,7 +42,6 @@ #include "mdoc.h" #include "man.h" #include "libmandoc.h" -#include "roff_int.h" #define REPARSE_LIMIT 1000 @@ -75,7 +74,7 @@ static void mparse_parse_buffer(struct mparse *, str static const enum mandocerr mandoclimits[MANDOCLEVEL_MAX] = { MANDOCERR_OK, - MANDOCERR_STYLE, + MANDOCERR_OK, MANDOCERR_WARNING, MANDOCERR_ERROR, MANDOCERR_UNSUPP, @@ -98,30 +97,34 @@ static const char * const mandocerrs[MANDOCERR_MAX] = "generic style suggestion", "legacy man(7) date format", + "lower case character in document title", "duplicate RCS id", "typo in section name", + "unterminated quoted argument", "useless macro", "consider using OS macro", "errnos out of order", "duplicate errno", - "description line ends with a full stop", + "trailing delimiter", "no blank before trailing delimiter", + "fill mode already enabled, skipping", + "fill mode already disabled, skipping", "function name without markup", + "whitespace at end of input line", + "bad comment style", "generic warning", /* related to the prologue */ "missing manual title, using UNTITLED", "missing manual title, using \"\"", - "lower case character in document title", "missing manual section, using \"\"", "unknown manual section", "missing date, using today's date", "cannot parse date, using it verbatim", + "date in the future, using it anyway", "missing Os macro, using \"\"", - "duplicate prologue macro", "late prologue macro", - "skipping late title macro", "prologue macros out of order", /* related to document structure */ @@ -154,8 +157,6 @@ static const char * const mandocerrs[MANDOCERR_MAX] = "nested displays are not portable", "moving content out of list", "first macro on line", - "fill mode already enabled, skipping", - "fill mode already disabled, skipping", "line scope broken", "skipping blank line in line scope", @@ -184,7 +185,6 @@ static const char * const mandocerrs[MANDOCERR_MAX] = "missing eqn box, using \"\"", /* related to bad macro arguments */ - "unterminated quoted argument", "duplicate argument", "skipping duplicate argument", "skipping duplicate display type", @@ -203,9 +203,7 @@ static const char * const mandocerrs[MANDOCERR_MAX] = /* related to plain text */ "blank line in fill mode, using .sp", "tab in filled text", - "whitespace at end of input line", "new sentence, new line", - "bad comment style", "invalid escape sequence", "undefined string, using \"\"", @@ -231,6 +229,8 @@ static const char * const mandocerrs[MANDOCERR_MAX] = /* related to document structure and macros */ NULL, + "duplicate prologue macro", + "skipping late title macro", "input stack limit exceeded, infinite loop?", "skipping bad character", "skipping unknown macro", @@ -342,7 +342,6 @@ choose_parser(struct mparse *curp) static int mparse_buf_r(struct mparse *curp, struct buf blk, size_t i, int start) { - const struct tbl_span *span; struct buf ln; const char *save_file; char *cp; @@ -533,21 +532,7 @@ rerun: if (curp->man->macroset == MACROSET_NONE) choose_parser(curp); - /* - * Lastly, push down into the parsers themselves. - * If libroff returns ROFF_TBL, then add it to the - * currently open parse. Since we only get here if - * there does exist data (see tbl_data.c), we're - * guaranteed that something's been allocated. - * Do the same for ROFF_EQN. - */ - - if (rr == ROFF_TBL) - while ((span = roff_span(curp->roff)) != NULL) - roff_addtbl(curp->man, span); - else if (rr == ROFF_EQN) - roff_addeqn(curp->man, roff_eqn(curp->roff)); - else if ((curp->man->macroset == MACROSET_MDOC ? + if ((curp->man->macroset == MACROSET_MDOC ? mdoc_parseln(curp->man, curp->line, ln.buf, of) : man_parseln(curp->man, curp->line, ln.buf, of)) == 2) break;