Avoid inserting spurious \text insets in mathed

This amends 5cdbaf51.
This commit is contained in:
Enrico Forestieri 2016-09-16 00:37:04 +02:00
parent 1b7dea5c2f
commit 364e8d6692

View File

@ -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);