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

Reply via email to