diff -urN lua-5.0\src\lparser.c luahack\src\lparser.c --- lua-5.0\src\lparser.c Thu Apr 3 04:35:34 2003 +++ luahack\src\lparser.c Sat Aug 30 15:53:30 2003 @@ -984,7 +984,7 @@ codeexp[i] = fs->f->code[expinit + i]; fs->pc = expinit; /* remove `exp' code */ enterblock(fs, &bl, 1); - check(ls, TK_DO); + testnext(ls, TK_DO); blockinit = luaK_getlabel(fs); block(ls); luaK_patchtohere(fs, whileinit); /* initial jump jumps to here */ @@ -1031,7 +1031,7 @@ FuncState *fs = ls->fs; int prep, endfor; adjustlocalvars(ls, nvars); /* scope for all variables */ - check(ls, TK_DO); + testnext(ls, TK_DO); enterblock(fs, &bl, 1); /* loop block */ prep = luaK_getlabel(fs); block(ls); @@ -1110,7 +1110,7 @@ /* test_then_block -> [IF | ELSEIF] cond THEN block */ next(ls); /* skip IF or ELSEIF */ cond(ls, v); - check(ls, TK_THEN); + testnext(ls, TK_THEN); block(ls); /* `then' part */ }

AltStyle によって変換されたページ (->オリジナル) /