diff options
Diffstat (limited to 'lvm.c')
-rw-r--r-- | lvm.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -1549,9 +1549,10 @@ void luaV_execute (lua_State *L, CallInfo *ci) { | |||
1549 | luaF_close(L, base, NOCLOSINGMETH); | 1549 | luaF_close(L, base, NOCLOSINGMETH); |
1550 | lua_assert(base == ci->func + 1); | 1550 | lua_assert(base == ci->func + 1); |
1551 | } | 1551 | } |
1552 | if (!ttisfunction(s2v(ra))) { /* not a function? */ | 1552 | while (!ttisfunction(s2v(ra))) { /* not a function? */ |
1553 | luaD_tryfuncTM(L, ra); /* try '__call' metamethod */ | 1553 | luaD_tryfuncTM(L, ra); /* try '__call' metamethod */ |
1554 | b++; /* there is now one extra argument */ | 1554 | b++; /* there is now one extra argument */ |
1555 | checkstackp(L, 1, ra); | ||
1555 | } | 1556 | } |
1556 | if (!ttisLclosure(s2v(ra))) { /* C function? */ | 1557 | if (!ttisLclosure(s2v(ra))) { /* C function? */ |
1557 | luaD_call(L, ra, LUA_MULTRET); /* call it */ | 1558 | luaD_call(L, ra, LUA_MULTRET); /* call it */ |