]> git.lyx.org Git - lyx.git/blobdiff - src/LaTeX.C
fix "make dist" target
[lyx.git] / src / LaTeX.C
index 37aac1044f9d136eb1ea3f5c7b1b4b37e20e57fa..06e45c4c58671a397e208270b0fa23316b4c2f6d 100644 (file)
@@ -29,9 +29,9 @@
 #include "support/LRegex.h"
 #include "support/LSubstring.h"
 #include "bufferlist.h"
-#include "minibuffer.h"
 #include "gettext.h"
 #include "lyx_gui_misc.h"
+#include "lyxfunc.h"
 
 using std::ifstream;
 using std::getline;
@@ -106,7 +106,7 @@ void LaTeX::deleteFilesOnError() const
 }
 
 
-int LaTeX::run(TeXErrors & terr, MiniBuffer * minib)
+int LaTeX::run(TeXErrors & terr, LyXFunc * lfun)
        // We know that this function will only be run if the lyx buffer
        // has been changed. We also know that a newly written .tex file
        // is always different from the previous one because of the date
@@ -173,8 +173,10 @@ int LaTeX::run(TeXErrors & terr, MiniBuffer * minib)
                bibtex_info_old = scanAuxFiles(aux_file);
 
        ++count;
-       lyxerr[Debug::LATEX] << "Run #" << count << endl; 
-       WriteStatus(minib, string(_("LaTeX run number ")) + tostr(count));
+       lyxerr[Debug::LATEX] << "Run #" << count << endl;
+       if (lfun) lfun->Dispatch(LFUN_MESSAGE, _("LaTeX run number") + ' ' + tostr(count));
+       
+       //WriteStatus(lfun, string(_("LaTeX run number ")) + tostr(count));
        this->operator()();
        scanres = scanLogFile(terr);
        if (scanres & ERROR_RERUN) {
@@ -207,7 +209,8 @@ int LaTeX::run(TeXErrors & terr, MiniBuffer * minib)
        if (head.haschanged(OnlyFilename(ChangeExtension(file, ".idx")))) {
                // no checks for now
                lyxerr[Debug::LATEX] << "Running MakeIndex." << endl;
-               WriteStatus(minib, _("Running MakeIndex."));
+               if (lfun) lfun->Dispatch(LFUN_MESSAGE, _("Running MakeIndex."));
+//             WriteStatus(minib, _("Running MakeIndex."));
                rerun = runMakeIndex(OnlyFilename(ChangeExtension(file, ".idx")));
        }
 
@@ -219,7 +222,8 @@ int LaTeX::run(TeXErrors & terr, MiniBuffer * minib)
                // tags is found -> run bibtex and set rerun = true;
                // no checks for now
                lyxerr[Debug::LATEX] << "Running BibTeX." << endl;
-               WriteStatus(minib, _("Running BibTeX."));
+               if (lfun) lfun->Dispatch(LFUN_MESSAGE, _("Running BibTeX."));
+               //WriteStatus(minib, _("Running BibTeX."));
                updateBibtexDependencies(head, bibtex_info);
                rerun |= runBibTeX(bibtex_info);
        } else if (!had_depfile)
@@ -247,8 +251,9 @@ int LaTeX::run(TeXErrors & terr, MiniBuffer * minib)
                        << "Dep. file has changed or rerun requested" << endl;
                lyxerr[Debug::LATEX]
                        << "Run #" << count << endl;
-               WriteStatus(minib,
-                           string(_("LaTeX run number ")) + tostr(count));
+               if (lfun) lfun->Dispatch(LFUN_MESSAGE, _("LaTeX run number") + ' ' + tostr(count));
+//             WriteStatus(minib,
+//                         string(_("LaTeX run number ")) + tostr(count));
                this->operator()();
                scanres = scanLogFile(terr);
                if (scanres & ERRORS) {
@@ -275,7 +280,8 @@ int LaTeX::run(TeXErrors & terr, MiniBuffer * minib)
        if (head.haschanged(OnlyFilename(ChangeExtension(file, ".idx")))) {
                // no checks for now
                lyxerr[Debug::LATEX] << "Running MakeIndex." << endl;
-               WriteStatus(minib, _("Running MakeIndex."));
+               if (lfun) lfun->Dispatch(LFUN_MESSAGE, _("Running MakeIndex."));
+               //WriteStatus(minib, _("Running MakeIndex."));
                rerun = runMakeIndex(OnlyFilename(ChangeExtension(file, ".idx")));
        }
        
@@ -296,7 +302,8 @@ int LaTeX::run(TeXErrors & terr, MiniBuffer * minib)
                rerun = false;
                ++count;
                lyxerr[Debug::LATEX] << "Run #" << count << endl;
-               WriteStatus(minib, string(_("LaTeX run number ")) + tostr(count));
+               if (lfun) lfun->Dispatch(LFUN_MESSAGE, _("LaTeX run numger") + ' ' + tostr(count));
+//             WriteStatus(minib, string(_("LaTeX run number ")) + tostr(count));
                this->operator()();
                scanres = scanLogFile(terr);
                if (scanres & ERRORS) {
@@ -607,7 +614,7 @@ void LaTeX::deplog(DepTable & head)
 
        string const logfile = OnlyFilename(ChangeExtension(file, ".log"));
 
-       LRegex reg1(")* *\\(([^ \\)]+).*");
+       LRegex reg1("\\)* *\\(([^ )]+).*");
        LRegex reg2("File: ([^ ]+).*");
        LRegex reg3("No file ([^ ]+)\\..*");
        LRegex reg4("\\\\openout[0-9]+.*=.*`([^ ]+)'\\..*");
@@ -663,7 +670,8 @@ void LaTeX::deplog(DepTable & head)
                        // On initial insert we want to do the update at once
                        // since this file can not be a file generated by
                        // the latex run.
-                       head.insert(foundfile, true);
+                       if (FileInfo(foundfile).exist())
+                               head.insert(foundfile, true);
                }
 
                // (2) foundfile is in the tmpdir