]> git.lyx.org Git - lyx.git/blobdiff - src/Layout.cpp
Remove special code for CJK that is no longer required (amends e665715fc4).
[lyx.git] / src / Layout.cpp
index 4f3dc1426822a66f5a6b1fe06a9a2c8315761b04..e4b6b3e3db20e7386396b83804ae4996561fd709 100644 (file)
@@ -75,6 +75,7 @@ enum LayoutTags {
        LT_LEFTDELIM,
        LT_LEFTMARGIN,
        LT_NEED_CPROTECT,
+       LT_NEED_MBOXPROTECT,
        LT_NEED_PROTECT,
        LT_NEWLINE,
        LT_NEXTNOINDENT,
@@ -132,6 +133,7 @@ Layout::Layout()
        inpreamble = false;
        needprotect = false;
        needcprotect = false;
+       needmboxprotect = false;
        keepempty = false;
        font = inherit_font;
        labelfont = inherit_font;
@@ -245,6 +247,7 @@ bool Layout::readIgnoreForcelocal(Lexer & lex, TextClass const & tclass)
                { "leftmargin",     LT_LEFTMARGIN },
                { "margin",         LT_MARGIN },
                { "needcprotect",    LT_NEED_CPROTECT },
+               { "needmboxprotect", LT_NEED_MBOXPROTECT },
                { "needprotect",    LT_NEED_PROTECT },
                { "newline",        LT_NEWLINE },
                { "nextnoindent",   LT_NEXTNOINDENT },
@@ -401,6 +404,10 @@ bool Layout::readIgnoreForcelocal(Lexer & lex, TextClass const & tclass)
                        lex >> needcprotect;
                        break;
 
+               case LT_NEED_MBOXPROTECT:
+                       lex >> needmboxprotect;
+                       break;
+
                case LT_KEEPEMPTY:
                        lex >> keepempty;
                        break;
@@ -605,25 +612,25 @@ bool Layout::readIgnoreForcelocal(Lexer & lex, TextClass const & tclass)
                }
 
                case LT_AUTONESTS: {
-                       docstring const autonest =
-                               subst(subst(subst(lex.getLongString(from_ascii("EndAutoNests")),
-                                                 from_ascii("\n"), docstring()),
-                                           from_ascii(" "), docstring()),
-                                     from_ascii("\t"), docstring());
+                       docstring autonest = lex.getLongString(from_ascii("EndAutoNests"));
+                       autonest = subst(autonest, from_ascii("\n"), docstring());
+                       autonest = subst(autonest, from_ascii("\t"), docstring());
+                       autonest = subst(autonest, from_ascii("\""), docstring());
+                       autonest = subst(autonest, '_', ' ');
                        vector<docstring> const autonests =
-                               getVectorFromString(autonest);
+                               getVectorFromString(autonest, from_ascii(","), false, true);
                        autonests_.insert(autonests.begin(), autonests.end());
                        break;
                }
 
                case LT_AUTONESTEDBY: {
-                       docstring const autonest =
-                               subst(subst(subst(lex.getLongString(from_ascii("EndIsAutoNestedBy")),
-                                                 from_ascii("\n"), docstring()),
-                                           from_ascii(" "), docstring()),
-                                     from_ascii("\t"), docstring());
+                       docstring autonest = lex.getLongString(from_ascii("EndIsAutoNestedBy"));
+                       autonest = subst(autonest, from_ascii("\n"), docstring());
+                       autonest = subst(autonest, from_ascii("\t"), docstring());
+                       autonest = subst(autonest, from_ascii("\""), docstring());
+                       autonest = subst(autonest, '_', ' ');
                        vector<docstring> const autonests =
-                               getVectorFromString(autonest);
+                               getVectorFromString(autonest, from_ascii(","), false, true);
                        autonested_by_.insert(autonests.begin(), autonests.end());
                        break;
                }
@@ -1230,6 +1237,7 @@ void Layout::write(ostream & os) const
                writeArgument(os, it->first, it->second);
        os << "\tNeedProtect " << needprotect << "\n"
              "\tNeedCProtect " << needcprotect << "\n"
+             "\tNeedMBoxProtect " << needmboxprotect << "\n"
              "\tKeepEmpty " << keepempty << '\n';
        if (labelfont == font)
                lyxWrite(os, font, "Font", 1);