X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FLaTeX.cpp;h=6063d807196c92f6a16dde7833e33b507c38aec3;hb=0e740018ff15aa005f024b0c4ebbf68079778b3b;hp=4278a3543c1c0ef70286ba98bdb83f175c727594;hpb=664ef2c459e470e04380a6890635424a2e34482c;p=lyx.git diff --git a/src/LaTeX.cpp b/src/LaTeX.cpp index 4278a3543c..6063d80719 100644 --- a/src/LaTeX.cpp +++ b/src/LaTeX.cpp @@ -148,6 +148,10 @@ void LaTeX::removeAuxiliaryFiles() const FileName const aux(changeExtension(file.absFileName(), ".aux")); aux.removeFile(); + // Also remove the .out file (e.g. hyperref bookmarks) (#9963) + FileName const out(changeExtension(file.absFileName(), ".out")); + out.removeFile(); + // Remove the output file, which is often generated even if error output_file.removeFile(); } @@ -232,12 +236,13 @@ int LaTeX::run(TeXErrors & terr) LYXERR(Debug::LATEX, "Run #" << count); message(runMessage(count)); - int const exit_code = startscript(); + int exit_code = startscript(); scanres = scanLogFile(terr); if (scanres & ERROR_RERUN) { LYXERR(Debug::LATEX, "Rerunning LaTeX"); - startscript(); + terr.clearErrors(); + exit_code = startscript(); scanres = scanLogFile(terr); } @@ -407,8 +412,12 @@ int LaTeX::run(TeXErrors & terr) // Write the dependencies to file. head.write(depfile); - if (exit_code) + if (exit_code) { + // add flag here, just before return, instead of when exit_code + // is defined because scanres is sometimes overwritten above + // (e.g. rerun) scanres |= NONZERO_ERROR; + } LYXERR(Debug::LATEX, "Done.");