]> git.lyx.org Git - features.git/commitdiff
Correctly distinguish ERT macros from predefined ones such as \alpha
authorEnrico Forestieri <forenr@lyx.org>
Fri, 16 Sep 2016 00:15:52 +0000 (02:15 +0200)
committerEnrico Forestieri <forenr@lyx.org>
Fri, 16 Sep 2016 00:15:52 +0000 (02:15 +0200)
src/Cursor.cpp

index 6485fc4a561d684ee9ed28a14664a06257883cb9..72c723b5025f436954ce357420ee3550df72c96c 100644 (file)
@@ -1426,9 +1426,9 @@ bool Cursor::macroModeClose()
        InsetMathNest * const in = inset().asInsetMath()->asNestInset();
        if (in && in->interpretString(*this, s))
                return true;
-       bool const ert_macro = !buffer()->getMacro(name, *this, false);
-       MathAtom atom = ert_macro ? createInsetMath(name, buffer())
-                                 : MathAtom(new MathMacro(buffer(), name));
+       bool const user_macro = buffer()->getMacro(name, *this, false);
+       MathAtom atom = user_macro ? MathAtom(new MathMacro(buffer(), name))
+                                  : createInsetMath(name, buffer());
 
        // try to put argument into macro, if we just inserted a macro
        bool macroArg = false;
@@ -1455,6 +1455,7 @@ bool Cursor::macroModeClose()
        bool keep_mathmode = it != words.end() && (it->second.inset == "font"
                                                || it->second.inset == "oldfont"
                                                || it->second.inset == "mbox");
+       bool ert_macro = !user_macro && it == words.end();
 
        if (in && in->currentMode() == Inset::TEXT_MODE
            && atom.nucleus()->currentMode() == Inset::MATH_MODE