Soon to be replaced with a proper fix.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30409
a592a061-630c-0410-9148-
cb99ea01b6c8
- MathMacro const * macro = cur.inset().asInsetMath()->asMacro();
- if (macro && macro->displayMode() == MathMacro::DISPLAY_UNFOLDED) {
- // 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;
- }
-
if (c == '\n') {
if (currentMode() <= InsetMath::TEXT_MODE)
cur.insert(c);
if (c == '\n') {
if (currentMode() <= InsetMath::TEXT_MODE)
cur.insert(c);
if (cur.pos() != cur.lastpos() && cur.openable(cur.nextAtom())) {
cur.pushBackward(*cur.nextAtom().nucleus());
cur.inset().idxFirst(cur);
if (cur.pos() != cur.lastpos() && cur.openable(cur.nextAtom())) {
cur.pushBackward(*cur.nextAtom().nucleus());
cur.inset().idxFirst(cur);
- 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;
}
if (cur.posForward() || idxForward(cur))
return true;
}
if (cur.posForward() || idxForward(cur))
cur.inset().idxLast(cur);
return true;
}
cur.inset().idxLast(cur);
return true;
}
- MathMacro const * macro = cur.inset().asInsetMath()->asMacro();
- int s = cur.depth() - 2;
- 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
// the FINISH lfuns
if (cur.posBackward() || idxBackward(cur))
return true;
// try to pop backwards --- but don't pop out of math! leave that to
// the FINISH lfuns
+ int s = cur.depth() - 2;
if (s >= 0 && cur[s].inset().asInsetMath())
return cur.popBackward();
return false;
if (s >= 0 && cur[s].inset().asInsetMath())
return cur.popBackward();
return false;