commit 364e8d66927161abec69c597a7022162db9a8af9
Author: Enrico Forestieri <[email protected]>
Date:   Fri Sep 16 00:37:04 2016 +0200

    Avoid inserting spurious \text insets in mathed
    
    This amends 5cdbaf51.
---
 src/Cursor.cpp |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/src/Cursor.cpp b/src/Cursor.cpp
index 64d7ad3..27c9cd6 100644
--- a/src/Cursor.cpp
+++ b/src/Cursor.cpp
@@ -1449,6 +1449,11 @@ bool Cursor::macroModeClose()
        else if (atom.nucleus()->nargs() > 0)
                atom.nucleus()->cell(0).append(selection);
 
+       MathWordList const & words = mathedWordList();
+       MathWordList::const_iterator it = words.find(name);
+       bool keep_mathmode = it != words.end() && (it->second.inset == "font"
+                                               || it->second.inset == "oldfont"
+                                               || it->second.inset == "mbox");
        bool ert_macro = atomAsMacro && !atomAsMacro->macro();
 
        if (in && in->currentMode() == Inset::TEXT_MODE
@@ -1460,7 +1465,7 @@ bool Cursor::macroModeClose()
                posForward();
        } else if (in && in->currentMode() == Inset::MATH_MODE
                   && atom.nucleus()->currentMode() == Inset::TEXT_MODE
-                  && name != from_ascii("text")) {
+                  && !keep_mathmode) {
                MathAtom at = createInsetMath("text", buffer());
                at.nucleus()->cell(0).push_back(atom);
                niceInsert(at);

Reply via email to