mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-09 18:31:04 +00:00
parent
88d9fc574e
commit
201dcc8ec3
@ -1599,11 +1599,8 @@ bool Cursor::macroModeClose()
|
||||
|
||||
docstring const name = s.substr(1);
|
||||
InsetMathNest * const in = inset().asInsetMath()->asNestInset();
|
||||
if (in && in->interpretString(*this, s)) {
|
||||
// end undo group that was opened before in was created
|
||||
endUndoGroup();
|
||||
if (in && in->interpretString(*this, s))
|
||||
return true;
|
||||
}
|
||||
MathAtom atom = buffer()->getMacro(name, *this, false) ?
|
||||
MathAtom(new MathMacro(buffer(), name)) : createInsetMath(name, buffer());
|
||||
|
||||
@ -1636,9 +1633,7 @@ bool Cursor::macroModeClose()
|
||||
else
|
||||
insert(selection);
|
||||
}
|
||||
|
||||
// end undo group that was opened before in was created
|
||||
endUndoGroup();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -184,7 +184,6 @@ bool InsetMathGrid::interpretString(Cursor & cur, docstring const & str)
|
||||
FuncStatus status;
|
||||
if (getStatus(cur, fr, status)) {
|
||||
if (status.enabled()) {
|
||||
cur.recordUndoInset();
|
||||
rowinfo_[cur.row()].lines_++;
|
||||
return true;
|
||||
}
|
||||
|
@ -848,14 +848,10 @@ void InsetMathNest::doDispatch(Cursor & cur, FuncRequest & cmd)
|
||||
|
||||
case LFUN_SELF_INSERT:
|
||||
if (cmd.argument().size() != 1) {
|
||||
// use a group because interpretString() might
|
||||
// record an extra undo step
|
||||
cur.beginUndoGroup();
|
||||
cur.recordUndoSelection();
|
||||
docstring const arg = cmd.argument();
|
||||
if (!interpretString(cur, arg))
|
||||
cur.insert(arg);
|
||||
cur.endUndoGroup();
|
||||
break;
|
||||
}
|
||||
// Don't record undo steps if we are in macro mode and thus
|
||||
@ -1667,8 +1663,6 @@ bool InsetMathNest::interpretChar(Cursor & cur, char_type const c)
|
||||
cur.cell().erase(cur.pos());
|
||||
cur.plainInsert(MathAtom(
|
||||
new InsetMathBig(name.substr(1), delim)));
|
||||
// end undo group that was opened before p was created
|
||||
cur.endUndoGroup();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@ -1712,12 +1706,9 @@ bool InsetMathNest::interpretChar(Cursor & cur, char_type const c)
|
||||
bool reduced = cap::reduceSelectionToOneCell(cur);
|
||||
if (reduced || !cur.selection()) {
|
||||
docstring const safe = cap::grabAndEraseSelection(cur);
|
||||
if (!cur.inRegexped()) {
|
||||
// open a group because interpretString() might
|
||||
// record an extra undo step when finalizing
|
||||
cur.beginUndoGroup();
|
||||
if (!cur.inRegexped())
|
||||
cur.insert(MathAtom(new InsetMathUnknown(from_ascii("\\"), safe, false)));
|
||||
} else
|
||||
else
|
||||
cur.niceInsert(createInsetMath("backslash", buf));
|
||||
}
|
||||
return true;
|
||||
|
@ -28,6 +28,8 @@
|
||||
#include "CoordCache.h"
|
||||
#include "Cursor.h"
|
||||
|
||||
#include "mathed/InsetMathUnknown.h"
|
||||
|
||||
#include "support/debug.h"
|
||||
#include "support/docstream.h"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user