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 <rgh...@lyx.org> >> 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; }