mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-27 11:52:25 +00:00
fix parser bug
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4856 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
283f8347a8
commit
f72aef6cb3
@ -564,13 +564,13 @@ void Parser::parse1(MathGridInset & grid, unsigned flags,
|
|||||||
|
|
||||||
if (flags & FLAG_OPTION) {
|
if (flags & FLAG_OPTION) {
|
||||||
if (t.cat() == catOther && t.character() == '[') {
|
if (t.cat() == catOther && t.character() == '[') {
|
||||||
// skip the bracket and collect everything to the closing bracket
|
MathArray ar;
|
||||||
flags |= FLAG_BRACK_LAST;
|
parse(ar, FLAG_BRACK_LAST, mathmode);
|
||||||
continue;
|
cell->append(ar);
|
||||||
|
} else {
|
||||||
|
// no option found, put back token and we are done
|
||||||
|
putback();
|
||||||
}
|
}
|
||||||
|
|
||||||
// no option found, put back token and we are done
|
|
||||||
putback();
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -665,8 +665,10 @@ void Parser::parse1(MathGridInset & grid, unsigned flags,
|
|||||||
limits = 0;
|
limits = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (t.character() == ']' && (flags & FLAG_BRACK_LAST))
|
else if (t.character() == ']' && (flags & FLAG_BRACK_LAST)) {
|
||||||
|
lyxerr << "finished reading option\n";
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
else if (t.cat() == catOther)
|
else if (t.cat() == catOther)
|
||||||
cell->push_back(MathAtom(new MathCharInset(t.character())));
|
cell->push_back(MathAtom(new MathCharInset(t.character())));
|
||||||
@ -842,6 +844,8 @@ void Parser::parse1(MathGridInset & grid, unsigned flags,
|
|||||||
else if (t.cs() == "sqrt") {
|
else if (t.cs() == "sqrt") {
|
||||||
MathArray ar;
|
MathArray ar;
|
||||||
parse(ar, FLAG_OPTION, mathmode);
|
parse(ar, FLAG_OPTION, mathmode);
|
||||||
|
lyxerr << "read option: " << ar << endl;
|
||||||
|
dump();
|
||||||
if (ar.size()) {
|
if (ar.size()) {
|
||||||
cell->push_back(MathAtom(new MathRootInset));
|
cell->push_back(MathAtom(new MathRootInset));
|
||||||
cell->back()->cell(0) = ar;
|
cell->back()->cell(0) = ar;
|
||||||
|
Loading…
Reference in New Issue
Block a user