X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FConverter.cpp;h=cb98b44194f86b3eaab0c3b5f8a39183885fa364;hb=bb277747d2fc128d65edb55662d075ce44100bc7;hp=4dab2413dbd408495af5fd3d3f6bab7f6556750c;hpb=bf99ece7366ad479458b3cecb067341a3320286a;p=lyx.git diff --git a/src/Converter.cpp b/src/Converter.cpp index 4dab2413db..cb98b44194 100644 --- a/src/Converter.cpp +++ b/src/Converter.cpp @@ -105,7 +105,7 @@ private: Converter::Converter(string const & f, string const & t, string const & c, string const & l) : from_(f), to_(t), command_(c), flags_(l), - From_(0), To_(0), latex_(false), xml_(false), + From_(nullptr), To_(nullptr), latex_(false), xml_(false), need_aux_(false), nice_(false), need_auth_(false) {} @@ -157,7 +157,7 @@ Converter const * Converters::getConverter(string const & from, if (cit != converterlist_.end()) return &(*cit); else - return 0; + return nullptr; } @@ -240,11 +240,9 @@ void Converters::erase(string const & from, string const & to) // a list (instead of a vector), but this will cause other problems). void Converters::update(Formats const & formats) { - ConverterList::iterator it = converterlist_.begin(); - ConverterList::iterator end = converterlist_.end(); - for (; it != end; ++it) { - it->setFrom(formats.getFormat(it->from())); - it->setTo(formats.getFormat(it->to())); + for (auto & cv : converterlist_) { + cv.setFrom(formats.getFormat(cv.from())); + cv.setTo(formats.getFormat(cv.to())); } } @@ -264,9 +262,8 @@ void Converters::updateLast(Formats const & formats) OutputParams::FLAVOR Converters::getFlavor(Graph::EdgePath const & path, Buffer const * buffer) { - for (Graph::EdgePath::const_iterator cit = path.begin(); - cit != path.end(); ++cit) { - Converter const & conv = converterlist_[*cit]; + for (auto const & edge : path) { + Converter const & conv = converterlist_[edge]; if (conv.latex() || conv.need_aux()) { if (conv.latex_flavor() == "latex") return OutputParams::LATEX; @@ -289,9 +286,8 @@ OutputParams::FLAVOR Converters::getFlavor(Graph::EdgePath const & path, string Converters::getHyperrefDriver(Graph::EdgePath const & path) { - for (Graph::EdgePath::const_iterator cit = path.begin(); - cit != path.end(); ++cit) { - Converter const & conv = converterlist_[*cit]; + for (auto const & edge : path) { + Converter const & conv = converterlist_[edge]; if (!conv.hyperref_driver().empty()) return conv.hyperref_driver(); } @@ -404,7 +400,7 @@ Converters::RetVal Converters::convert(Buffer const * buffer, FileName const & from_file, FileName const & to_file, FileName const & orig_from, string const & from_format, string const & to_format, - ErrorList & errorList, int conversionflags) + ErrorList & errorList, int conversionflags, bool includeall) { if (from_format == to_format) return move(from_format, from_file, to_file, false) ? @@ -472,7 +468,7 @@ Converters::RetVal Converters::convert(Buffer const * buffer, // buffer is only invalid for importing, and then runparams is not // used anyway. - OutputParams runparams(buffer ? &buffer->params().encoding() : 0); + OutputParams runparams(buffer ? &buffer->params().encoding() : nullptr); runparams.flavor = getFlavor(edgepath, buffer); if (buffer) { @@ -486,11 +482,13 @@ Converters::RetVal Converters::convert(Buffer const * buffer, runparams.index_command = (bp.index_command == "default") ? string() : bp.index_command; runparams.document_language = bp.language->babel(); + runparams.xindy_language = bp.language->xindy(); // Some macros rely on font encoding runparams.main_fontenc = bp.main_font_encoding(); runparams.only_childbibs = !bp.useBiblatex() && !bp.useBibtopic() && bp.multibib == "child"; + runparams.includeall = includeall; } // Some converters (e.g. lilypond) can only output files to the @@ -513,9 +511,8 @@ Converters::RetVal Converters::convert(Buffer const * buffer, string to_base = changeExtension(to_file.absFileName(), ""); FileName infile; FileName outfile = from_file; - for (Graph::EdgePath::const_iterator cit = edgepath.begin(); - cit != edgepath.end(); ++cit) { - Converter const & conv = converterlist_[*cit]; + for (auto const & edge : edgepath) { + Converter const & conv = converterlist_[edge]; bool dummy = conv.To()->dummy() && conv.to() != "program"; if (!dummy) { LYXERR(Debug::FILES, "Converting from " @@ -585,7 +582,7 @@ Converters::RetVal Converters::convert(Buffer const * buffer, if (conv.latex()) { // We are not importing, we have a buffer - LATTEST(buffer); + LASSERT(buffer, return FAILURE); run_latex = true; string command = conv.command(); command = subst(command, token_from, ""); @@ -603,7 +600,7 @@ Converters::RetVal Converters::convert(Buffer const * buffer, } else { if (conv.need_aux() && !run_latex) { // We are not importing, we have a buffer - LATTEST(buffer); + LASSERT(buffer, return FAILURE); string command; switch (runparams.flavor) { case OutputParams::DVILUATEX: @@ -712,8 +709,8 @@ Converters::RetVal Converters::convert(Buffer const * buffer, " > " + quoteName(logfile); res = one.startscript(starttype, to_filesystem8bit(from_utf8(command2)), - buffer->filePath(), - buffer->layoutPos()); + buffer ? buffer->filePath() : string(), + buffer ? buffer->layoutPos() : string()); if (res == Systemcall::KILLED) { frontend::Alert::warning( _("Converter killed"), @@ -721,7 +718,7 @@ Converters::RetVal Converters::convert(Buffer const * buffer, from_utf8(command))); return KILLED; } - if (!scanLog(*buffer, command, makeAbsPath(logfile, path), errorList)) + if (buffer && !scanLog(*buffer, command, makeAbsPath(logfile, path), errorList)) return FAILURE; } } @@ -796,9 +793,8 @@ bool Converters::move(string const & fmt, string const to_extension = getExtension(to.absFileName()); support::FileNameList const files = FileName(path).dirList(getExtension(from.absFileName())); - for (support::FileNameList::const_iterator it = files.begin(); - it != files.end(); ++it) { - string const from2 = it->absFileName(); + for (auto const & f : files) { + string const from2 = f.absFileName(); string const file2 = onlyFileName(from2); if (prefixIs(file2, base)) { string const to2 = changeExtension( @@ -808,8 +804,8 @@ bool Converters::move(string const & fmt, Mover const & mover = getMover(fmt); bool const moved = copy - ? mover.copy(*it, FileName(to2)) - : mover.rename(*it, FileName(to2)); + ? mover.copy(f, FileName(to2)) + : mover.rename(f, FileName(to2)); if (!moved && no_errors) { Alert::error(_("Cannot convert file"), bformat(copy ? @@ -826,10 +822,8 @@ bool Converters::move(string const & fmt, bool Converters::formatIsUsed(string const & format) { - ConverterList::const_iterator cit = converterlist_.begin(); - ConverterList::const_iterator end = converterlist_.end(); - for (; cit != end; ++cit) { - if (cit->from() == format || cit->to() == format) + for (auto const & cvt : converterlist_) { + if (cvt.from() == format || cvt.to() == format) return true; } return false; @@ -839,7 +833,7 @@ bool Converters::formatIsUsed(string const & format) bool Converters::scanLog(Buffer const & buffer, string const & /*command*/, FileName const & filename, ErrorList & errorList) { - OutputParams runparams(0); + OutputParams runparams(nullptr); runparams.flavor = OutputParams::LATEX; LaTeX latex("", runparams, filename); TeXErrors terr; @@ -862,7 +856,7 @@ Converters::RetVal Converters::runLaTeX(Buffer const & buffer, string const & co string const name = buffer.latexName(); LaTeX latex(command, runparams, FileName(makeAbsPath(name)), buffer.filePath(), buffer.layoutPos(), - buffer.isClone(), buffer.lastPreviewError()); + buffer.isClone(), buffer.freshStartRequired()); TeXErrors terr; // The connection closes itself at the end of the scope when latex is // destroyed. One cannot close (and destroy) buffer while the converter is @@ -881,11 +875,12 @@ Converters::RetVal Converters::runLaTeX(Buffer const & buffer, string const & co if (result & LaTeX::ERRORS) buffer.bufferErrors(terr, errorList); - if ((result & LaTeX::UNDEF_CIT) || (result & LaTeX::UNDEF_REF)) { + if ((result & LaTeX::UNDEF_CIT) || (result & LaTeX::UNDEF_UNKNOWN_REF)) { buffer.bufferRefs(terr, errorList); if (errorList.empty()) errorList.push_back(ErrorItem(_("Undefined reference"), - _("Undefined reference or citation was found during the build, please check the Log."), + _("Undefined references or citations were found during the build.\n" + "Please check the warnings in the LaTeX log (Document > LaTeX Log)."), &buffer)); } @@ -918,7 +913,7 @@ Converters::RetVal Converters::runLaTeX(Buffer const & buffer, string const & co LaTeX::NO_LOGFILE | LaTeX::ERRORS | LaTeX::UNDEF_CIT | - LaTeX::UNDEF_REF | + LaTeX::UNDEF_UNKNOWN_REF | LaTeX::NO_OUTPUT; return (result & ERROR_MASK) == 0 ? SUCCESS : FAILURE; @@ -933,11 +928,9 @@ void Converters::buildGraph() // each of the converters knows how to convert one format to another // so, for each of them, we create an arrow on the graph, going from // the one to the other - ConverterList::iterator it = converterlist_.begin(); - ConverterList::iterator const end = converterlist_.end(); - for (; it != end ; ++it) { - int const from = theFormats().getNumber(it->from()); - int const to = theFormats().getNumber(it->to()); + for (auto const & cvt : converterlist_) { + int const from = theFormats().getNumber(cvt.from()); + int const to = theFormats().getNumber(cvt.to()); LASSERT(from >= 0, continue); LASSERT(to >= 0, continue); G_.addEdge(from, to); @@ -975,10 +968,8 @@ FormatList const Converters::getReachable(string const & from, { set excluded_numbers; - set::const_iterator sit = excludes.begin(); - set::const_iterator const end = excludes.end(); - for (; sit != end; ++sit) - excluded_numbers.insert(theFormats().getNumber(*sit)); + for (auto const & ex : excludes) + excluded_numbers.insert(theFormats().getNumber(ex)); vector const & reachables = G_.getReachable(theFormats().getNumber(from),