=================================================================== RCS file: /cvs/mandoc/read.c,v retrieving revision 1.50 retrieving revision 1.55 diff -u -p -r1.50 -r1.55 --- mandoc/read.c 2014/06/20 23:02:31 1.50 +++ mandoc/read.c 2014/07/02 03:48:07 1.55 @@ -1,4 +1,4 @@ -/* $Id: read.c,v 1.50 2014/06/20 23:02:31 schwarze Exp $ */ +/* $Id: read.c,v 1.55 2014/07/02 03:48:07 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons * Copyright (c) 2010-2014 Ingo Schwarze @@ -93,29 +93,29 @@ static const char * const mandocerrs[MANDOCERR_MAX] = "generic warning", /* related to the prologue */ - "no TH macro in document", - "document title should be all caps", + "missing .TH macro, using \"unknown 1\"", + "lower case character in document title", "unknown manual section", "unknown manual volume or arch", - "date missing, using today's date", + "missing date, using today's date", "cannot parse date, using it verbatim", "prologue macros out of order", "duplicate prologue macro", - "macro not allowed in prologue", - "macro not allowed in body", + "incomplete prologue, terminated by", + "skipping prologue macro in body", /* related to document structure */ ".so is fragile, better use ln(1)", "no document body", - "content before the first section header", - "NAME section must come first", + "content before first section header", + "first section is not \"NAME\"", "bad NAME section contents", "sections out of conventional order", - "duplicate section name", - "section header suited to sections 2, 3, and 9 only", + "duplicate section title", + "unexpected section", /* related to macros and nesting */ - "skipping obsolete macro", + "obsolete macro", "skipping paragraph macro", "moving paragraph macro out of list", "skipping no-space macro", @@ -153,9 +153,6 @@ static const char * const mandocerrs[MANDOCERR_MAX] = "bad escape sequence", "unterminated quoted string", - /* related to equations */ - "unexpected literal in equation", - "generic error", /* related to equations */ @@ -179,7 +176,7 @@ static const char * const mandocerrs[MANDOCERR_MAX] = "skipping bad character", "escaped character not allowed in a name", "manual name not yet set", - "skipping text before the first section header", + "skipping text before first section header", "skipping unknown macro", "NOT IMPLEMENTED, please use groff: skipping request", "argument count wrong", @@ -194,7 +191,6 @@ static const char * const mandocerrs[MANDOCERR_MAX] = "request requires a numeric argument", "missing list type", "line argument(s) will be lost", - "body argument(s) will be lost", "generic fatal error", @@ -206,11 +202,12 @@ static const char * const mandocerrs[MANDOCERR_MAX] = "child violates parent syntax", "argument count wrong, violates syntax", "NOT IMPLEMENTED: .so with absolute path or \"..\"", + ".so request failed", "no document prologue", "static buffer exhausted", /* system errors */ - "cannot open file", + NULL, "cannot stat file", "cannot read file", }; @@ -506,8 +503,12 @@ rerun: if (curp->secondary) curp->secondary->sz -= pos + 1; mparse_readfd(curp, -1, ln.buf + of); - if (MANDOCLEVEL_FATAL <= curp->file_status) + if (MANDOCLEVEL_FATAL <= curp->file_status) { + mandoc_vmsg(MANDOCERR_SO_FAIL, + curp, curp->line, pos, + ".so %s", ln.buf + of); break; + } pos = 0; continue; default: