X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FConverter.cpp;h=d5686f666da5a6a2152b7188333d0137ad2e97f8;hb=9176e60b7bcab3e355521a86ddb4c2778cd9b29e;hp=118d0b66ce3ba3da302be53b4693e125b7e83cc8;hpb=389352b3fb920514c89ebb5fbb1b8311bfc698dc;p=lyx.git diff --git a/src/Converter.cpp b/src/Converter.cpp index 118d0b66ce..d5686f666d 100644 --- a/src/Converter.cpp +++ b/src/Converter.cpp @@ -476,19 +476,22 @@ Converters::RetVal Converters::convert(Buffer const * buffer, runparams.flavor = getFlavor(edgepath, buffer); if (buffer) { + BufferParams const & bp = buffer->params(); runparams.use_japanese = - (buffer->params().bufferFormat() == "latex" - || suffixIs(buffer->params().bufferFormat(), "-ja")) - && buffer->params().encoding().package() == Encoding::japanese; - runparams.use_indices = buffer->params().use_indices; - runparams.bibtex_command = buffer->params().bibtexCommand(); - runparams.index_command = (buffer->params().index_command == "default") ? - string() : buffer->params().index_command; - runparams.document_language = buffer->params().language->babel(); - runparams.main_fontenc = buffer->params().main_font_encoding(); - runparams.only_childbibs = !buffer->params().useBiblatex() - && !buffer->params().useBibtopic() - && buffer->params().multibib == "child"; + (bp.bufferFormat() == "latex" + || suffixIs(bp.bufferFormat(), "-ja")) + && bp.encoding().package() == Encoding::japanese; + runparams.use_indices = bp.use_indices; + runparams.bibtex_command = bp.bibtexCommand(); + 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"; } // Some converters (e.g. lilypond) can only output files to the @@ -860,7 +863,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 @@ -879,6 +882,14 @@ 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)) { + 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."), + &buffer)); + } + if (!errorList.empty()) { // We will show the LaTeX Errors GUI later which contains // specific error messages so it would be repetitive to give @@ -907,6 +918,8 @@ Converters::RetVal Converters::runLaTeX(Buffer const & buffer, string const & co int const ERROR_MASK = LaTeX::NO_LOGFILE | LaTeX::ERRORS | + LaTeX::UNDEF_CIT | + LaTeX::UNDEF_REF | LaTeX::NO_OUTPUT; return (result & ERROR_MASK) == 0 ? SUCCESS : FAILURE;