Dekel Tsur <[EMAIL PROTECTED]> writes:
| The parsing of latex errors assumes that an error begins with a line
| beginning with "! ", and afterwards there is a line beginning with "l."
| containing the error line number.
| However, the "l." lines doesn't already exist.
| For example, by putting "\emph{" with no closing bracket,
| the error message is
|
| Runaway argument?
| { \end {document}
| ! File ended while scanning use of \emph .
| <inserted text>
| \par
|
| We can remove the check for the "l." line by removing the
| "if (prefixIs(tmp, "l.")) {" line in LaTeX::scanLogFile, but we need to be
| sure that latex never prints a line beginning with "! " unless there is an
| error.
| A safer solution is to do the following:
|
| - if (prefixIs(tmp, "l.")) {
| + if (prefixIs(tmp, "l.") ||
| + contains(token, "File ended while")) {
|
| which only handle the specific type of error which is shown above.
| I've attached a patch for this.
Wouldn't it be better to handle the "Runaway argument?" case
separately?
} else if (contains(token, "Runaway argument?")) {
...
scan the msg and insert the error into terr with line desc and
errstr set.
...
}
Lgb