mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-10 20:04:46 +00:00
fix x^1<space>_
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2876 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
400fcfa1ee
commit
db033af700
@ -16,6 +16,7 @@
|
||||
#include <fstream>
|
||||
|
||||
#include "Lsstream.h"
|
||||
#include "support/LAssert.h"
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma implementation
|
||||
@ -641,10 +642,11 @@ InsetFormulaBase::localDispatch(BufferView * bv, kb_action action,
|
||||
result = UNDISPATCHED;
|
||||
}
|
||||
|
||||
lyx::Assert(mathcursor);
|
||||
//mathcursor->normalize();
|
||||
|
||||
if (was_macro != mathcursor->inMacroMode()
|
||||
&& action >= 0 && action != LFUN_BACKSPACE)
|
||||
if (//was_macro != mathcursor->inMacroMode() &&
|
||||
action >= 0 && action != LFUN_BACKSPACE)
|
||||
updateLocal(bv, true);
|
||||
|
||||
if (mathcursor->selection() || was_selection)
|
||||
|
@ -132,9 +132,10 @@ MathCursor::MathCursor(InsetFormulaBase * formula, bool left)
|
||||
|
||||
void MathCursor::push(MathAtom & t)
|
||||
{
|
||||
//cerr << "Entering atom "; t->write(cerr, false); cerr << " left\n";
|
||||
MathCursorPos p;
|
||||
p.par_ = &t;
|
||||
p.idx_ = 0;
|
||||
p.pos_ = 0;
|
||||
Cursor_.push_back(p);
|
||||
}
|
||||
|
||||
@ -937,7 +938,10 @@ void MathCursor::normalize() const
|
||||
|
||||
if (pos() > size()) {
|
||||
lyxerr << "this should not really happen - 2: "
|
||||
<< pos() << " " << size() << "\n";
|
||||
<< pos() << " " << size() << " in idx: " << it->idx()
|
||||
<< " in atom: '";
|
||||
it->par()->write(lyxerr, false);
|
||||
lyxerr << "\n";
|
||||
dump("error 4");
|
||||
}
|
||||
it->pos() = min(pos(), size());
|
||||
@ -1321,17 +1325,22 @@ void MathCursor::interpret(char c)
|
||||
if (hasPrevAtom() && prevAtom()->asScriptInset()) {
|
||||
prevAtom()->asScriptInset()->ensure(up);
|
||||
pushRight(prevAtom());
|
||||
idx() = up;
|
||||
pos() = size();
|
||||
} else if (hasNextAtom() && nextAtom()->asScriptInset()) {
|
||||
nextAtom()->asScriptInset()->ensure(up);
|
||||
pushLeft(nextAtom());
|
||||
idx() = up;
|
||||
pos() = 0;
|
||||
} else {
|
||||
plainInsert(MathAtom(new MathScriptInset(up)));
|
||||
prevAtom()->asScriptInset()->ensure(up);
|
||||
pushRight(prevAtom());
|
||||
}
|
||||
idx() = up;
|
||||
pos() = 0;
|
||||
}
|
||||
selPaste();
|
||||
dump("1");
|
||||
return;
|
||||
}
|
||||
|
||||
@ -1393,7 +1402,6 @@ void MathCursor::interpret(char c)
|
||||
else
|
||||
insert(c, LM_TC_VAR);
|
||||
|
||||
#warning greek insert problem? look here!
|
||||
if (lastcode_ == LM_TC_GREEK1)
|
||||
lastcode_ = LM_TC_VAR;
|
||||
return;
|
||||
|
@ -294,3 +294,19 @@ bool MathScriptInset::hasDown() const
|
||||
{
|
||||
return script_[0];
|
||||
}
|
||||
|
||||
|
||||
bool MathScriptInset::idxRight(MathInset::idx_type &,
|
||||
MathInset::pos_type &) const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
bool MathScriptInset::idxLeft(MathInset::idx_type &,
|
||||
MathInset::pos_type &) const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
@ -40,6 +40,11 @@ public:
|
||||
///
|
||||
int width(MathInset const * nucleus) const;
|
||||
|
||||
///
|
||||
bool idxLeft(MathInset::idx_type &, MathInset::pos_type &) const;
|
||||
///
|
||||
bool idxRight(MathInset::idx_type &, MathInset::pos_type &) const;
|
||||
|
||||
///
|
||||
MathScriptInset const * asScriptInset() const;
|
||||
///
|
||||
|
Loading…
Reference in New Issue
Block a user