On 12/27/2017 09:34 AM, Jürgen Spitzmüller wrote:
> Am Freitag, den 22.12.2017, 00:58 +0100 schrieb Richard Heck:
>> commit b5e5c2576a8ed83faa52d0a35bb15dc54a8b1a91
>> Author: Richard Heck <[email protected]>
>> Date: Thu Dec 21 18:46:06 2017 -0500
>>
>> Allow makeindex, nomencl, and bibtex runs to be canceled, too.
> As of this commit, BibTeX errors are no longer properly reported via
> the error dialog. In case of a BibTeX error, LyX just quits with a
> cryptic message: "No output file was generated."
Can you try the attached? Looks like I was over-enthusiastic about aborting.
rh
diff --git a/src/LaTeX.cpp b/src/LaTeX.cpp
index 79824217b8..494c68f1cf 100644
--- a/src/LaTeX.cpp
+++ b/src/LaTeX.cpp
@@ -286,7 +286,7 @@ int LaTeX::run(TeXErrors & terr)
// onlyFileName() is needed for cygwin
int const ret =
runMakeIndex(onlyFileName(idxfile.absFileName()), runparams);
- if (ret)
+ if (ret == Systemcall::KILLED)
return ret;
rerun = true;
}
@@ -299,7 +299,7 @@ int LaTeX::run(TeXErrors & terr)
// FIXME: Sort out the real problem in DepTable.
if (head.haschanged(nlofile) || (nlofile.exists() &&
nlofile.isFileEmpty())) {
int const ret = runMakeIndexNomencl(file, ".nlo", ".nls");
- if (ret)
+ if (ret == Systemcall::KILLED)
return ret;
rerun = true;
}
@@ -331,7 +331,7 @@ int LaTeX::run(TeXErrors & terr)
updateBibtexDependencies(head, bibtex_info);
int exitCode;
rerun |= runBibTeX(bibtex_info, runparams, exitCode);
- if (exitCode)
+ if (exitCode == Systemcall::KILLED)
return exitCode;
FileName const blgfile(changeExtension(file.absFileName(),
".blg"));
if (blgfile.exists())
@@ -387,7 +387,7 @@ int LaTeX::run(TeXErrors & terr)
updateBibtexDependencies(head, bibtex_info);
int exitCode;
rerun |= runBibTeX(bibtex_info, runparams, exitCode);
- if (exitCode)
+ if (exitCode == Systemcall::KILLED)
return exitCode;
FileName const blgfile(changeExtension(file.absFileName(),
".blg"));
if (blgfile.exists())
@@ -410,7 +410,7 @@ int LaTeX::run(TeXErrors & terr)
// onlyFileName() is needed for cygwin
int const ret = runMakeIndex(onlyFileName(changeExtension(
file.absFileName(), ".idx")), runparams);
- if (ret)
+ if (ret == Systemcall::KILLED)
return ret;
rerun = true;
}