From: Enrico Forestieri Date: Thu, 15 Sep 2016 22:37:04 +0000 (+0200) Subject: Avoid inserting spurious \text insets in mathed X-Git-Tag: 2.3.0alpha1~1017 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=364e8d66927161abec69c597a7022162db9a8af9;p=features.git Avoid inserting spurious \text insets in mathed This amends 5cdbaf51. --- diff --git a/src/Cursor.cpp b/src/Cursor.cpp index 64d7ad3e5e..27c9cd6ac9 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);