X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FLaTeX.C;h=a8106ccf2fd5f4ff3f811f22d8e967b8834441c5;hb=15a0218c0fbd310587456f1342f051a663a69d64;hp=387e33f061b90d7175bc1d3f89c101a9162ecbe9;hpb=8af57ecef16668c669f5fe0215c05ba90017e263;p=lyx.git diff --git a/src/LaTeX.C b/src/LaTeX.C index 387e33f061..a8106ccf2f 100644 --- a/src/LaTeX.C +++ b/src/LaTeX.C @@ -3,9 +3,9 @@ * * LyX, The Document Processor * Copyright 1995 Matthias Ettrich - * Copyright 1995-2000 The LyX Team. + * Copyright 1995-2001 The LyX Team. * - * This file is Copyright 1996-2000 + * This file is Copyright 1996-2001 * Lars Gullik Bjønnes * * ====================================================== @@ -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,15 @@ 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) { + ostringstream str; + str << _("LaTeX run number") << ' ' << count; + lfun->Dispatch(LFUN_MESSAGE, str.str().c_str()); + } + + + //WriteStatus(lfun, string(_("LaTeX run number ")) + tostr(count)); this->operator()(); scanres = scanLogFile(terr); if (scanres & ERROR_RERUN) { @@ -207,7 +214,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 +227,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 +256,14 @@ 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) { + ostringstream str; + str << _("LaTeX run number") << ' ' << count; + lfun->Dispatch(LFUN_MESSAGE, str.str().c_str()); + } + +// WriteStatus(minib, +// string(_("LaTeX run number ")) + tostr(count)); this->operator()(); scanres = scanLogFile(terr); if (scanres & ERRORS) { @@ -275,7 +290,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 +312,13 @@ 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) { + ostringstream str; + str << _("LaTeX run number") << ' ' << count; + lfun->Dispatch(LFUN_MESSAGE, str.str().c_str()); + } + +// WriteStatus(minib, string(_("LaTeX run number ")) + tostr(count)); this->operator()(); scanres = scanLogFile(terr); if (scanres & ERRORS) { @@ -607,7 +629,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]+.*=.*`([^ ]+)'\\..*"); @@ -697,4 +719,7 @@ void LaTeX::deplog(DepTable & head) << "Not a file or we are unable to find it." << endl; } + + // Make sure that the main .tex file is in the dependancy file. + head.insert(OnlyFilename(file), true); }