api_check
api_check(L, ttistable(t), "table expected");
api_check(from, G(from) == G(to), "moving among independent states");
api_check(from, to->ci->top - to->top >= n, "not enough elements to move");
api_check(L, ttisLclosure(fi), "Lua function expected");
api_check(L, (1 <= n && n <= f->p->sizeupvalues), "invalid upvalue index");
api_check(L, 1 <= n && n <= f->nupvalues, "invalid upvalue index");
api_check(L, 0, "closure expected");
api_check(L, idx <= L->stack_last - (func + 1), "new top too large");
api_check(L, -(idx+1) <= (L->top - (func + 1)), "invalid new top");
default: api_check(L, 0, "invalid option");
#define api_checkvalidindex(L, o) api_check(L, isvalid(o), "invalid index")
api_check(L, isstackindex(i, o), "index not in the stack")
api_check(L, n <= MAXUPVAL, "upvalue index too large");
api_check(L, idx <= ci->top - (ci->func + 1), "unacceptable index");
api_check(L, idx != 0 && -idx <= L->top - (ci->func + 1), "invalid index");
api_check(L, ttistable(t), "table expected");
api_check(L, ttistable(t), "table expected");
api_check(L, ttistable(t), "table expected");
api_check(L, idx <= MAXUPVAL + 1, "upvalue index too large");
api_check(L, ttisuserdata(o), "userdata expected");
api_check(L, ttistable(t), "table expected");
api_check(L, ttistable(t), "table expected");
api_check(L, ttistable(t), "table expected");
api_check(L, ttistable(L->top - 1), "table expected");
api_check(L, ttisuserdata(o), "userdata expected");
api_check(L, ttistable(L->top - 1), "table expected");
api_check(L, (nr) == LUA_MULTRET || (L->ci->top - L->top >= (nr) - (na)), \
api_check(L, k == NULL || !isLua(L->ci),
api_check(L, L->status == LUA_OK, "cannot do calls on non-normal thread");
api_check(L, k == NULL || !isLua(L->ci),
api_check(L, L->status == LUA_OK, "cannot do calls on non-normal thread");
#define api_incr_top(L) {L->top++; api_check(L, L->top <= L->ci->top, \
#define api_checknelems(L,n) api_check(L, (n) < (L->top - L->ci->func), \
api_check(L, ttisfunction(func), "function expected");
api_check(L, k == NULL, "hooks cannot continue after yielding");
api_check(L, nsize > realosize,