fixes
parent
73f770552c
commit
9bfb599f64
|
@ -675,12 +675,12 @@ static void compileblockmain(GenState &gs, int wordtype, int prevargs) {
|
||||||
brak--;
|
brak--;
|
||||||
break;
|
break;
|
||||||
case '@': {
|
case '@': {
|
||||||
gs.next_char();
|
|
||||||
char const *esc = gs.source;
|
char const *esc = gs.source;
|
||||||
|
int level = 0;
|
||||||
while (gs.current() == '@') {
|
while (gs.current() == '@') {
|
||||||
|
++level;
|
||||||
gs.next_char();
|
gs.next_char();
|
||||||
}
|
}
|
||||||
int level = gs.source - (esc - 1);
|
|
||||||
if (brak > level) {
|
if (brak > level) {
|
||||||
continue;
|
continue;
|
||||||
} else if (brak < level) {
|
} else if (brak < level) {
|
||||||
|
@ -695,7 +695,7 @@ static void compileblockmain(GenState &gs, int wordtype, int prevargs) {
|
||||||
concs = 1;
|
concs = 1;
|
||||||
}
|
}
|
||||||
if (compileblockstr(
|
if (compileblockstr(
|
||||||
gs, ostd::ConstCharRange(start, esc - 1), true
|
gs, ostd::ConstCharRange(start, esc), true
|
||||||
)) {
|
)) {
|
||||||
concs++;
|
concs++;
|
||||||
}
|
}
|
||||||
|
@ -708,6 +708,9 @@ static void compileblockmain(GenState &gs, int wordtype, int prevargs) {
|
||||||
gs.code.pop();
|
gs.code.pop();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
gs.next_char();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue