]> git.lyx.org Git - lyx.git/blobdiff - src/tex2lyx/tex2lyx.cpp
tex2lyx: fix a regression
[lyx.git] / src / tex2lyx / tex2lyx.cpp
index 94e099a66c934b7eec74dd29124b399a4686364d..a7f83c25a34c41c449753b3b080e301cc7ea21f2 100644 (file)
@@ -254,12 +254,11 @@ bool checkModule(string const & name, bool command)
        // This is needed since a module cannot be read on its own, only as
        // part of a document class.
        LayoutFile const & baseClass = LayoutFileList::get()[textclass.name()];
-       typedef map<string, DocumentClass *> ModuleMap;
+       typedef map<string, DocumentClassPtr > ModuleMap;
        static ModuleMap modules;
        static bool init = true;
        if (init) {
                baseClass.load();
-               DocumentClassBundle & bundle = DocumentClassBundle::get();
                LyXModuleList::const_iterator const end = theModuleList.end();
                LyXModuleList::const_iterator it = theModuleList.begin();
                for (; it != end; ++it) {
@@ -269,7 +268,7 @@ bool checkModule(string const & name, bool command)
                        if (!m.moduleCanBeAdded(module, &baseClass))
                                continue;
                        m.push_back(module);
-                       modules[module] = &bundle.makeDocumentClass(baseClass, m);
+                       modules[module] = getDocumentClass(baseClass, m);
                }
                init = false;
        }
@@ -290,7 +289,7 @@ bool checkModule(string const & name, bool command)
                        continue;
                if (findInsetLayoutWithoutModule(textclass, name, command))
                        continue;
-               DocumentClass const * c = it->second;
+               DocumentClassConstPtr  c = it->second;
                Layout const * layout = findLayoutWithoutModule(*c, name, command);
                InsetLayout const * insetlayout = layout ? 0 :
                        findInsetLayoutWithoutModule(*c, name, command);
@@ -333,6 +332,8 @@ bool checkModule(string const & name, bool command)
 bool noweb_mode = false;
 bool pdflatex = false;
 bool xetex = false;
+bool have_CJK = false;
+bool is_nonCJKJapanese = false;
 bool roundtrip = false;
 
 
@@ -670,6 +671,10 @@ bool tex2lyx(idocstream & is, ostream & os, string encoding)
        active_environments.push_back("document");
        Context context(true, textclass);
        stringstream ss;
+       // store the document language in the context to be able to handle the
+       // commands like \foreignlanguage and \textenglish etc.
+       context.font.language = preamble.language();
+       // parse the main text
        parse_text(p, ss, FLAG_END, true, context);
        if (Context::empty)
                // Empty document body. LyX needs at least one paragraph.