]> git.lyx.org Git - lyx.git/blobdiff - src/LaTeX.cpp
inset-split: consider that freeSpacing() doesn't DEPM
[lyx.git] / src / LaTeX.cpp
index 81f8a39b3af9a60ac0b9697284fcdfae836a5a88..31d61441ae786b2f7af61de25d818f1bd3221940 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>
 
 
@@ -541,13 +543,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 +584,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 +1626,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 +1648,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 +1662,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;