From 193b36e71fc5b17533df45969fc9cc5db9f9be3a Mon Sep 17 00:00:00 2001 From: Vincent van Ravesteijn Date: Fri, 15 May 2009 22:04:41 +0000 Subject: [PATCH] Fix bug #5923: Resume macromode. When the user wants to resume a macro, delete the current one and insert a new one, which is not yet finalized. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29687 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/mathed/InsetMathNest.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/mathed/InsetMathNest.cpp b/src/mathed/InsetMathNest.cpp index 8fef03f2f1..a55c0551ed 100644 --- a/src/mathed/InsetMathNest.cpp +++ b/src/mathed/InsetMathNest.cpp @@ -1568,6 +1568,19 @@ bool InsetMathNest::interpretChar(Cursor & cur, char_type const c) return true; } + if (cur.pos() > 0) { + MathMacro const * macro = cur.inset().asInsetMath()->asMacro(); + if (macro) { + // resume macro_mode + docstring const & s = macro->name(); + cur.leaveInset(*macro); + cur.plainErase(); + docstring safe = grabAndEraseSelection(cur); + cur.insert(MathAtom(new InsetMathUnknown("\\" + s + c, safe, false))); + return true; + } + } + selClearOrDel(cur); if (c == '\n') { -- 2.39.5