- if (idx == 2 && cell(2).empty()) {
- removeScript(false); // must be a subscript...
- } else if (idx == 1 && cell(1).empty()) {
- if (nargs() == 2) {
- cell_1_is_up_ = false;
- cell(1) = cell(2);
- cells_.pop_back();
- } else if (nargs() == 1) {
- cells_.pop_back();
- }
+ if (nargs() > 2 && cur.idx() == 2 && cell(2).empty()) {
+ // must be a subscript...
+ removeScript(false);
+ // sanitize cursor, even if this slice will be removed immediately
+ cur.idx() = 0;
+ cur.pos() = 0;
+ } else if (nargs() > 1 && cur.idx() == 1 && cell(1).empty()) {
+ // could be either subscript or super script
+ removeScript(cell_1_is_up_);
+ // sanitize cursor, even if this slice will be removed immediately
+ cur.idx() = 0;
+ cur.pos() = 0;