]> git.lyx.org Git - lyx.git/blobdiff - src/LaTeX.cpp
Whitespace
[lyx.git] / src / LaTeX.cpp
index 4278a3543c1c0ef70286ba98bdb83f175c727594..6063d807196c92f6a16dde7833e33b507c38aec3 100644 (file)
@@ -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.");