]> git.lyx.org Git - lyx.git/blobdiff - src/LaTeX.cpp
\\spellchecker_ignore: use LyX language name rather than langcode
[lyx.git] / src / LaTeX.cpp
index 81f8a39b3af9a60ac0b9697284fcdfae836a5a88..6e7fe921b8fa6f9f30a14a6e9900dc4551f3941b 100644 (file)
 
 #include <config.h>
 
+#include "LaTeX.h"
+
 #include "Buffer.h"
 #include "BufferList.h"
 #include "BufferParams.h"
-#include "LaTeX.h"
 #include "LyXRC.h"
 #include "LyX.h"
 #include "DepTable.h"
 #include "Encoding.h"
+#include "Language.h"
 
 #include "support/debug.h"
+#include "support/docstring.h"
 #include "support/convert.h"
 #include "support/FileName.h"
 #include "support/filetools.h"
@@ -33,9 +36,8 @@
 #include "support/Systemcall.h"
 #include "support/os.h"
 
-#include "support/regex.h"
-
 #include <fstream>
+#include <regex>
 #include <stack>
 
 
@@ -133,6 +135,7 @@ LaTeX::LaTeX(string const & latex, OutputParams const & rp,
 
 void LaTeX::removeAuxiliaryFiles() const
 {
+       LYXERR(Debug::LATEX, "Removing auxiliary files");
        // Note that we do not always call this function when there is an error.
        // For example, if there is an error but an output file is produced we
        // still would like to output (export/view) the file.
@@ -541,13 +544,15 @@ int LaTeX::runMakeIndex(string const & f, OutputParams const & rp,
 
        if (!rp.index_command.empty())
                tmp = rp.index_command;
+
+       Language const * doc_lang = languages.getLanguage(rp.document_language);
        
        if (contains(tmp, "$$x")) {
                // This adds appropriate [te]xindy options
                // such as language and codepage (for the
                // main document language/encoding) as well
                // as input markup (latex or xelatex)
-               string xdyopts = rp.xindy_language;
+               string xdyopts = doc_lang ? doc_lang->xindy() : string();
                if (!xdyopts.empty())
                        xdyopts = "-L " + xdyopts;
                if (rp.isFullUnicode() && rp.encoding->package() == Encoding::none) {
@@ -580,7 +585,10 @@ int LaTeX::runMakeIndex(string const & f, OutputParams const & rp,
                "idx file has been made, running index processor ("
                << tmp << ") on file " << f);
 
-       tmp = subst(tmp, "$$lang", rp.document_language);
+       if (doc_lang) {
+               tmp = subst(tmp, "$$lang", doc_lang->babel());
+               tmp = subst(tmp, "$$lcode", doc_lang->code());
+       }
        if (rp.use_indices) {
                tmp = lyxrc.splitindex_command + " -m " + quoteName(tmp);
                LYXERR(Debug::LATEX,
@@ -1619,10 +1627,9 @@ int LaTeX::scanBlgFile(DepTable & dep, TeXErrors & terr)
                } else if (regex_match(token, sub, biberError)) {
                        retval |= BIBTEX_ERROR;
                        string errstr = N_("Biber error: ") + sub.str(2);
-                       string msg = token;
                        terr.insertError(0,
                                         from_local8bit(errstr),
-                                        from_local8bit(msg));
+                                        from_local8bit(token));
                }
                prevtoken = token;
        }
@@ -1642,7 +1649,6 @@ int LaTeX::scanIlgFile(TeXErrors & terr)
        string prevtoken;
        while (getline(ifs, token)) {
                token = rtrim(token, "\r");
-               smatch sub;
                if (prefixIs(token, "!! "))
                        prevtoken = token;
                else if (!prevtoken.empty()) {
@@ -1657,10 +1663,9 @@ int LaTeX::scanIlgFile(TeXErrors & terr)
                } else if (prefixIs(token, "ERROR: ")) {
                        retval |= BIBTEX_ERROR;
                        string errstr = N_("Xindy error: ") + token.substr(6);
-                       string msg = token;
                        terr.insertError(0,
                                         from_local8bit(errstr),
-                                        from_local8bit(msg));
+                                        from_local8bit(token));
                }
        }
        return retval;