]> git.lyx.org Git - lyx.git/commitdiff
Fix some parsing glitches in Autonest and IsAutonestedBy
authorJuergen Spitzmueller <spitz@lyx.org>
Sat, 29 Dec 2018 12:36:39 +0000 (13:36 +0100)
committerJuergen Spitzmueller <spitz@lyx.org>
Sat, 29 Dec 2018 17:36:20 +0000 (18:36 +0100)
Layouts can have spaces, underlines (that must be read as spaces, and
be enquoted)

Candidate for stable

(cherry picked from commit da273a944f4b720b1da5fd737ededc2f2129e9bc)

src/Layout.cpp
status.23x

index 005acb22581fddc7a122312216e812cfdc023c23..4813854b48aa59d03c35c30a148e4d4cdc2eaf86 100644 (file)
@@ -597,25 +597,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;
                }
index cba8e846eac1bc231a26cf347b7aceb6fcecad04..818a628ce5172412216d738006d259e0b255889d 100644 (file)
@@ -73,6 +73,9 @@ What's new
 
 - Beamer: automatically nest column in columns.
 
+- Fix Autonests and IsAutonestedBy layout tags with specific layout names
+  (with space, underbar and enquoted).
+
 
 * USER INTERFACE