X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FLaTeX.cpp;h=d79af2fbf859655595c8930a56562ca3661efadb;hb=0a34b1e047ae8e1c0a5a4dc4f484435098e40c4f;hp=ac85b41d00d9055cb38d29a1b5e19a447f1597ca;hpb=62ca7f3ae55ad2e0c395cb554d71afab87de1ee3;p=lyx.git diff --git a/src/LaTeX.cpp b/src/LaTeX.cpp index ac85b41d00..d79af2fbf8 100644 --- a/src/LaTeX.cpp +++ b/src/LaTeX.cpp @@ -29,12 +29,10 @@ #include "support/Systemcall.h" #include "support/os.h" -#include +#include "support/regex.h" #include -using boost::regex; -using boost::smatch; using namespace std; using namespace lyx::support; @@ -260,8 +258,8 @@ int LaTeX::run(TeXErrors & terr) // no checks for now LYXERR(Debug::LATEX, "Running MakeIndex."); message(_("Running Index Processor.")); - // onlyFilename() is needed for cygwin - rerun |= runMakeIndex(onlyFilename(idxfile.absFileName()), + // onlyFileName() is needed for cygwin + rerun |= runMakeIndex(onlyFileName(idxfile.absFileName()), runparams); } FileName const nlofile(changeExtension(file.absFileName(), ".nlo")); @@ -349,8 +347,8 @@ int LaTeX::run(TeXErrors & terr) // no checks for now LYXERR(Debug::LATEX, "Running MakeIndex."); message(_("Running Index Processor.")); - // onlyFilename() is needed for cygwin - rerun = runMakeIndex(onlyFilename(changeExtension( + // onlyFileName() is needed for cygwin + rerun = runMakeIndex(onlyFileName(changeExtension( file.absFileName(), ".idx")), runparams); } @@ -398,9 +396,9 @@ int LaTeX::run(TeXErrors & terr) int LaTeX::startscript() { - // onlyFilename() is needed for cygwin + // onlyFileName() is needed for cygwin string tmp = cmd + ' ' - + quoteName(onlyFilename(file.toFilesystemEncoding())) + + quoteName(onlyFileName(file.toFilesystemEncoding())) + " > " + os::nulldev(); Systemcall one; return one.startscript(Systemcall::Wait, tmp); @@ -441,10 +439,10 @@ bool LaTeX::runMakeIndexNomencl(FileName const & file, LYXERR(Debug::LATEX, "Running MakeIndex for nomencl."); message(_("Running MakeIndex for nomencl.")); string tmp = lyxrc.nomencl_command + ' '; - // onlyFilename() is needed for cygwin - tmp += quoteName(onlyFilename(changeExtension(file.absFileName(), nlo))); + // onlyFileName() is needed for cygwin + tmp += quoteName(onlyFileName(changeExtension(file.absFileName(), nlo))); tmp += " -o " - + onlyFilename(changeExtension(file.toFilesystemEncoding(), nls)); + + onlyFileName(changeExtension(file.toFilesystemEncoding(), nls)); Systemcall one; one.startscript(Systemcall::Wait, tmp); return true; @@ -538,7 +536,7 @@ void LaTeX::updateBibtexDependencies(DepTable & dep, // remove all ".bib" and ".bst" files. dep.remove_files_with_extension(".bib"); dep.remove_files_with_extension(".bst"); - //string aux = OnlyFilename(ChangeExtension(file, ".aux")); + //string aux = OnlyFileName(ChangeExtension(file, ".aux")); for (vector::const_iterator it = bibtex_info.begin(); it != bibtex_info.end(); ++it) { @@ -575,8 +573,8 @@ bool LaTeX::runBibTeX(vector const & bibtex_info, if (!runparams.bibtex_command.empty()) tmp = runparams.bibtex_command; tmp += " "; - // onlyFilename() is needed for cygwin - tmp += quoteName(onlyFilename(removeExtension( + // onlyFileName() is needed for cygwin + tmp += quoteName(onlyFileName(removeExtension( it->aux_file.absFileName()))); Systemcall one; one.startscript(Systemcall::Wait, tmp); @@ -592,7 +590,7 @@ int LaTeX::scanLogFile(TeXErrors & terr) int line_count = 1; int retval = NO_ERRORS; string tmp = - onlyFilename(changeExtension(file.absFileName(), ".log")); + onlyFileName(changeExtension(file.absFileName(), ".log")); LYXERR(Debug::LATEX, "Log file: " << tmp); FileName const fn = FileName(makeAbsPath(tmp)); ifstream ifs(fn.toFilesystemEncoding().c_str()); @@ -653,6 +651,7 @@ int LaTeX::scanLogFile(TeXErrors & terr) } else if (contains(token, "run BibTeX")) { retval |= UNDEF_CIT; } else if (contains(token, "Rerun LaTeX") || + contains(token, "Please rerun LaTeX") || contains(token, "Rerun to get")) { // at least longtable.sty and bibtopic.sty // might use this. @@ -853,7 +852,7 @@ bool handleFoundFile(string const & ff, DepTable & head) } } - string onlyfile = onlyFilename(foundfile); + string onlyfile = onlyFileName(foundfile); absname = makeAbsPath(onlyfile); // check for spaces @@ -873,7 +872,7 @@ bool handleFoundFile(string const & ff, DepTable & head) string const stripoff = rsplit(foundfile, strippedfile, ' '); foundfile = strippedfile; - onlyfile = onlyFilename(strippedfile); + onlyfile = onlyFileName(strippedfile); absname = makeAbsPath(onlyfile); } } @@ -924,7 +923,7 @@ void LaTeX::deplog(DepTable & head) // entered into the dependency file. string const logfile = - onlyFilename(changeExtension(file.absFileName(), ".log")); + onlyFileName(changeExtension(file.absFileName(), ".log")); static regex const reg1("File: (.+).*"); static regex const reg2("No file (.+)(.).*"); @@ -952,7 +951,7 @@ void LaTeX::deplog(DepTable & head) string lastline; while (ifs) { // Ok, the scanning of files here is not sufficient. - // Sometimes files are named by "File: xxx" only + // Sometimes files are named by "File:� xxx" only // So I think we should use some regexps to find files instead. // Note: all file names and paths might contains spaces. bool found_file = false; @@ -1009,7 +1008,7 @@ void LaTeX::deplog(DepTable & head) // However, ... if (suffixIs(token, ")")) // no line break for sure - // pretend we've been succesfully searching + // pretend we've been successfully searching found_file = true; // (2) "No file file.ext" } else if (regex_match(token, sub, reg2)) { @@ -1046,11 +1045,11 @@ void LaTeX::deplog(DepTable & head) found_file = checkLineBreak(sub.str(1), head); // (7) "\tf@toc=\write" (for MikTeX) else if (regex_match(token, sub, miktexTocReg)) - found_file = handleFoundFile(onlyFilename(changeExtension( + found_file = handleFoundFile(onlyFileName(changeExtension( file.absFileName(), ".toc")), head); else // not found, but we won't check further - // pretend we've been succesfully searching + // pretend we've been successfully searching found_file = true; // (8) "(file.ext" @@ -1089,7 +1088,7 @@ void LaTeX::deplog(DepTable & head) // we have a closing bracket, so the content // is not a file name. // no need to investigate further - // pretend we've been succesfully searching + // pretend we've been successfully searching first = what[0].second; found_file = true; }