lua-users home
lua-l archive

Re: Bug in hook(luaV_finishOp:OP_LE)?

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


> [...]
> 
> it has different result when call or not call 'lua_yield' in 'hook' fun, i
> think there is a bug in when finish execution of an opcode(OP_LE)
> interrupted by an yield.
> 
> [...]
> ......
> 
> in func luaV_finishOp, i think it is necessary to invert result when both
> R(B) and R(C) has no meta method 'TM_LE':
> if (op == OP_LE && /* "<=" using "<" instead? */
> ttisnil(luaT_gettmbyobj(L, base + GETARG_B(inst), TM_LE)) &&
> ttisnil(luaT_gettmbyobj(L, base + GETARG_C(inst), TM_LE)))
> res = !res; /* invert result */
Many thanks for the detailed report. We will have a look into it.
-- Roberto

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