From: Enrico Forestieri Date: Thu, 9 Jul 2009 18:00:27 +0000 (+0000) Subject: Allow undoing changes to the name of macros that are already finalized. X-Git-Tag: 2.0.0~6122 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=ce7302098cbd8a553b233843f0114632598974ba;p=features.git Allow undoing changes to the name of macros that are already finalized. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30434 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/src/mathed/InsetMathNest.cpp b/src/mathed/InsetMathNest.cpp index c44a843e82..e6c8f2eafc 100644 --- a/src/mathed/InsetMathNest.cpp +++ b/src/mathed/InsetMathNest.cpp @@ -808,7 +808,7 @@ void InsetMathNest::doDispatch(Cursor & cur, FuncRequest & cmd) cur.insert(arg); break; } - // Don't record undo steps if we are in macro mode and + // Don't record undo steps if we are in macro mode and thus // cmd.argument is the next character of the macro name. // Otherwise we'll get an invalid cursor if we undo after // the macro was finished and the macro is a known command, @@ -817,14 +817,9 @@ void InsetMathNest::doDispatch(Cursor & cur, FuncRequest & cmd) // InsetMathFrac -> a pos value > 0 is invalid. // A side effect is that an undo before the macro is finished // undoes the complete macro, not only the last character. - if (!cur.inMacroMode()) { - MathMacro const * macro = 0; - if (cur.pos() > 0 && cmd.argument() != "\\") - macro = cur.inset().asInsetMath()->asMacro(); - - if (!macro) - cur.recordUndoSelection(); - } + // At the time we hit '\' we are not in macro mode, still. + if (!cur.inMacroMode()) + cur.recordUndoSelection(); // spacial handling of space. If we insert an inset // via macro mode, we want to put the cursor inside it