commit 51db94b350a7a777329f20d0ea99f273df7bd164
Author: Juergen Spitzmueller <[email protected]>
Date:   Sat Dec 29 13:36:39 2018 +0100

    Fix some parsing glitches in Autonest and IsAutonestedBy
    
    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 |   24 ++++++++++++------------
 status.23x     |    3 +++
 2 files changed, 15 insertions(+), 12 deletions(-)

diff --git a/src/Layout.cpp b/src/Layout.cpp
index 005acb2..4813854 100644
--- a/src/Layout.cpp
+++ b/src/Layout.cpp
@@ -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;
                }
diff --git a/status.23x b/status.23x
index cba8e84..818a628 100644
--- a/status.23x
+++ b/status.23x
@@ -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
 

Reply via email to