]> git.lyx.org Git - lyx.git/blobdiff - src/LaTeX.cpp
Set correctly the spacing between atoms in MathData
[lyx.git] / src / LaTeX.cpp
index 0640275a36497a4dc8eea3d8c3edfae667ae3d8b..c4f987014d28c38f2a0441d9ff22c4dced93bf7b 100644 (file)
@@ -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!"),