mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-09 18:31:04 +00:00
Fix child document regex in scanLogFile
Several problems:
* The regex failed at names such as 1_text_2_text.tex
(returned "2_text.tex)
* The regex failed at names such as 12_text.tex
(returned "2_text.tex)
* Masters with digits in the name (2018_text.tex) were
tracked as their own children
(cherry picked from commit 398e026250
)
This commit is contained in:
parent
04e995e807
commit
2d923e4243
@ -657,7 +657,7 @@ int LaTeX::scanLogFile(TeXErrors & terr)
|
||||
ifstream ifs(fn.toFilesystemEncoding().c_str());
|
||||
bool fle_style = false;
|
||||
static regex const file_line_error(".+\\.\\D+:[0-9]+: (.+)");
|
||||
static regex const child_file(".*([0-9]+[A-Za-z]*_.+\\.tex).*");
|
||||
static regex const child_file("[^0-9]*([0-9]+[A-Za-z]*_.+\\.tex).*");
|
||||
// Flag for 'File ended while scanning' message.
|
||||
// We need to wait for subsequent processing.
|
||||
string wait_for_error;
|
||||
@ -692,8 +692,12 @@ int LaTeX::scanLogFile(TeXErrors & terr)
|
||||
string const substr = token.substr(i + 1, len);
|
||||
if (regex_match(substr, sub, child_file)) {
|
||||
string const name = sub.str(1);
|
||||
child.push(make_pair(name, pnest));
|
||||
children.push_back(name);
|
||||
// Sometimes also masters have a name that matches
|
||||
// (if their name starts with a number and _)
|
||||
if (name != file.onlyFileName()) {
|
||||
child.push(make_pair(name, pnest));
|
||||
children.push_back(name);
|
||||
}
|
||||
i += len;
|
||||
}
|
||||
} else if (token[i] == ')') {
|
||||
|
Loading…
Reference in New Issue
Block a user