diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2014-10-12 19:31:41 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2014-10-12 19:31:41 +0000 |
commit | 3aae5aea6108aec8f9c8d9e61ef797f5291a0c60 (patch) | |
tree | 10b6c19833cb61eade9dbb7d75c53a1dc079c393 /read.c | |
parent | bb74cbfe07e7341a1b5980e1331be5009b5eca0e (diff) | |
download | mandoc-3aae5aea6108aec8f9c8d9e61ef797f5291a0c60.tar.gz |
Improve error handling in the eqn(7) parser.
Get rid of the first fatal error, MANDOCERR_EQNSYNT.
In eqn(7), there is no need to be bug-compatible with groff, so there
is no need to abondon the whole equation in case of a syntax error.
In particular:
* Skip "back", "delim", "down", "fwd", "gfont", "gsize", "left",
"right", "size", and "up" without arguments.
* Skip "gsize" and "size" with a non-numeric argument.
* Skip closing delimiters that are not open.
* Skip "above" outside piles.
* For diacritic marks and binary operators without a left operand,
default to an empty box.
* Let piles and matrices take one argument rather than insisting
on a braced list. Let HTML output handle that, too.
* When rewinding, if the root box is guaranteed to match
the termination condition, no error handling is needed.
Diffstat (limited to 'read.c')
-rw-r--r-- | read.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -149,6 +149,7 @@ static const char * const mandocerrs[MANDOCERR_MAX] = { "missing font type, using \\fR", "unknown font type, using \\fR", "missing -std argument, adding it", + "missing eqn box, using \"\"", /* related to bad macro arguments */ "unterminated quoted argument", @@ -179,7 +180,6 @@ static const char * const mandocerrs[MANDOCERR_MAX] = { "equation scope open on exit", "overlapping equation scopes", "unexpected end of equation", - "equation syntax error", /* related to tables */ "bad table syntax", |