-/* $Id: read.c,v 1.48 2014/04/20 22:04:04 schwarze Exp $ */
+/* $Id: read.c,v 1.57 2014/07/02 13:10:45 schwarze Exp $ */
/*
* Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2010-2014 Ingo Schwarze <schwarze@openbsd.org>
"generic warning",
/* related to the prologue */
- "no title 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)",
- "NAME section must come first",
+ "no document body",
+ "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",
"blocks badly nested",
- "child violates parent syntax",
"nested displays are not portable",
- "already in literal mode",
+ "moving content out of list",
+ ".Vt block has child macro",
+ "fill mode already enabled, skipping .fi",
+ "fill mode already disabled, skipping .nf",
"line scope broken",
/* related to missing macro arguments */
"list type must come first",
"tag lists require a width argument",
"missing font type",
- "skipping end of block that is not open",
/* related to bad macro arguments */
"skipping argument",
"bad escape sequence",
"unterminated quoted string",
- /* related to equations */
- "unexpected literal in equation",
-
"generic error",
/* related to equations */
"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",
+ "skipping invalid content in .Rs block",
"skipping column outside column list",
"skipping end of block that is not open",
"missing end of block",
"request requires a numeric argument",
"missing list type",
"line argument(s) will be lost",
- "body argument(s) will be lost",
"generic fatal error",
"child violates parent syntax",
"argument count wrong, violates syntax",
"NOT IMPLEMENTED: .so with absolute path or \"..\"",
- "no document body",
+ ".so request failed",
"no document prologue",
"static buffer exhausted",
/* system errors */
- "cannot open file",
+ NULL,
"cannot stat file",
"cannot read file",
};
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:
}
if ( ! (curp->mdoc || curp->man || curp->sodest)) {
- mandoc_msg(MANDOCERR_NOTMANUAL, curp, 1, 0, NULL);
+ mandoc_msg(MANDOCERR_NOTMANUAL, curp, 0, 0, NULL);
curp->file_status = MANDOCLEVEL_FATAL;
return;
}