X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FLaTeX.cpp;h=c4f987014d28c38f2a0441d9ff22c4dced93bf7b;hb=bf56e2c8e1afa857cd5e313c19948040e41b8227;hp=0640275a36497a4dc8eea3d8c3edfae667ae3d8b;hpb=b917c4e40f9f5cd3d101444600eddafcca54d6e3;p=lyx.git diff --git a/src/LaTeX.cpp b/src/LaTeX.cpp index 0640275a36..c4f987014d 100644 --- a/src/LaTeX.cpp +++ b/src/LaTeX.cpp @@ -97,7 +97,13 @@ LaTeX::LaTeX(string const & latex, OutputParams const & rp, : cmd(latex), file(f), path(p), lpath(lp), runparams(rp), biber(false) { num_errors = 0; - if (prefixIs(cmd, "pdf")) { // Do we use pdflatex ? + // lualatex can still produce a DVI with --output-format=dvi. However, + // we do not use that internally (we use the "dvilualatex" command) so + // it would only happen from a custom converter. Thus, it is better to + // guess that lualatex produces a PDF than to guess a DVI. + // FIXME we should base the extension on the output format, which we should + // get in a robust way, e.g. from the converter. + if (prefixIs(cmd, "pdf") || prefixIs(cmd, "lualatex") || prefixIs(cmd, "xelatex")) { depfile = FileName(file.absFileName() + ".dep-pdf"); output_file = FileName(changeExtension(file.absFileName(), ".pdf")); @@ -878,8 +884,9 @@ int LaTeX::scanLogFile(TeXErrors & terr) } else if (contains(token, "Rerun to get citations")) { // Natbib seems to use this. retval |= UNDEF_CIT; - } else if (contains(token, "No pages of output")) { - // A dvi file was not created + } else if (contains(token, "No pages of output") + || contains(token, "no pages of output")) { + // No output file (e.g. the DVI or PDF) was created retval |= NO_OUTPUT; } else if (contains(token, "That makes 100 errors")) { // More than 100 errors were reprted @@ -892,9 +899,11 @@ int LaTeX::scanLogFile(TeXErrors & terr) from_local8bit("pdfTeX Error"), from_local8bit(token), child_name); - } else if (prefixIs(token, "Missing character: There is no ")) { - // XeTeX/LuaTeX error about missing glyph in selected font - // (bug 9610) + } else if (prefixIs(token, "Missing character: There is no ") + && !contains(token, "nullfont")) { + // Warning about missing glyph in selected font + // may be dataloss (bug 9610) + // but can be ignored for 'nullfont' (bug 10394). retval |= LATEX_ERROR; terr.insertError(0, from_local8bit("Missing glyphs!"),