Fix previous commit for macros with arguments, again.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30398 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Vincent van Ravesteijn 2009-07-07 08:23:31 +00:00
parent ebe7913a47
commit 1c6eea89b4

View File

@ -1862,7 +1862,8 @@ bool InsetMathNest::cursorMathForward(Cursor & cur)
if (cur.pos() != cur.lastpos() && cur.openable(cur.nextAtom())) {
cur.pushBackward(*cur.nextAtom().nucleus());
cur.inset().idxFirst(cur);
if (cur.inset().asInsetMath()->asMacro())
MathMacro const * macro = cur.inset().asInsetMath()->asMacro();
if (macro && macro->displayMode() == MathMacro::DISPLAY_UNFOLDED)
// editing macros is only possible at lastpos
cur.pos() = cur.lastpos();
return true;
@ -1888,9 +1889,11 @@ bool InsetMathNest::cursorMathBackward(Cursor & cur)
}
MathMacro const * macro = cur.inset().asInsetMath()->asMacro();
int s = cur.depth() - 2;
if (macro && s >= 0 && cur[s].inset().asInsetMath())
if (macro && macro->displayMode() == MathMacro::DISPLAY_UNFOLDED
&& s >= 0 && cur[s].inset().asInsetMath())
// editing macros is only possible at lastpos
return cur.popBackward();
if (cur.posBackward() || idxBackward(cur))
return true;
// try to pop backwards --- but don't pop out of math! leave that to