return entries[keyinfo];
};
void setForDefaultLang(int upTo) {interval.setForDefaultLang(upTo);};
+ void addIntervall(int low, int up) { interval.addIntervall(low, up); };
};
break;
}
case KeyInfo::isMain: {
+ if (interval.par.substr(actual._dataStart, 2) == "% ")
+ interval.addIntervall(actual._dataStart, actual._dataStart+2);
if (actual.disabled) {
removeHead(actual);
if ((interval.par.substr(actual._dataStart, 3) == " \\[") ||
firstKey = DummyKey;
(void) li.setNextKey(firstkeyIdx);
}
+ else {
+ if (par.substr(firstKey._dataStart, 2) == "% ")
+ li.addIntervall(firstKey._dataStart, firstKey._dataStart+2);
+ }
nextkeyIdx = li.process(os, firstKey);
while (nextkeyIdx >= 0) {
// Check for a possible gap between the last
old_match = 0;
int prev_old_match = old_match;
int old_len = len;
- int step = 20;
+ int step = 200;
int new_match;
if (match.opt.matchword)
step = 1;
- while (step == 20) {
+ while (step > 4) {
if (cur.pos() + len + step >= cur.lastpos()) {
- step = 1;
+ step /= 5 ;
len = old_len;
old_match = prev_old_match;
}
len += step;
}
else {
- step = 1;
+ step /= 5;
len = old_len;
old_match = prev_old_match;
}