mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-23 02:14:50 +00:00
Fix bug 6445: Incorrect TEX code causes misleading "File does not exist" error on "View PDF"
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33789 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
1fc1652f10
commit
a0aabe4ed9
@ -598,6 +598,9 @@ int LaTeX::scanLogFile(TeXErrors & terr)
|
||||
ifstream ifs(fn.toFilesystemEncoding().c_str());
|
||||
bool fle_style = false;
|
||||
static regex file_line_error(".+\\.\\D+:[0-9]+: (.+)");
|
||||
// Flag for 'File ended while scanning' message.
|
||||
// We need to wait for subsequent processing.
|
||||
string wait_for_error;
|
||||
|
||||
string token;
|
||||
while (getline(ifs, token)) {
|
||||
@ -684,6 +687,30 @@ int LaTeX::scanLogFile(TeXErrors & terr)
|
||||
desc = sub.str();
|
||||
if (contains(token, "LaTeX Error:"))
|
||||
retval |= LATEX_ERROR;
|
||||
|
||||
// bug 6445. At this point its not clear we finish with error.
|
||||
if (prefixIs(token, "! File ended while scanning")){
|
||||
wait_for_error = desc;
|
||||
continue;
|
||||
}
|
||||
if (!wait_for_error.empty() && prefixIs(token, "! Emergency stop.")){
|
||||
retval |= LATEX_ERROR;
|
||||
string errstr;
|
||||
int count = 0;
|
||||
errstr = wait_for_error;
|
||||
do {
|
||||
if (!getline(ifs, tmp))
|
||||
break;
|
||||
errstr += "\n" + tmp;
|
||||
if (++count > 5)
|
||||
break;
|
||||
} while (!contains(tmp, "(job aborted"));
|
||||
|
||||
terr.insertError(0,
|
||||
from_local8bit("Emergency stop"),
|
||||
from_local8bit(errstr));
|
||||
}
|
||||
|
||||
// get the next line
|
||||
string tmp;
|
||||
int count = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user