diff options
Diffstat (limited to 'lvm.c')
-rw-r--r-- | lvm.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lvm.c,v 2.23 2005/01/10 18:33:37 roberto Exp roberto $ | 2 | ** $Id: lvm.c,v 2.24 2005/02/18 12:40:02 roberto Exp roberto $ |
3 | ** Lua virtual machine | 3 | ** Lua virtual machine |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -620,9 +620,9 @@ StkId luaV_execute (lua_State *L, int nexeccalls) { | |||
620 | int aux; | 620 | int aux; |
621 | StkId func = ci->func; | 621 | StkId func = ci->func; |
622 | StkId pfunc = (ci+1)->func; /* previous function index */ | 622 | StkId pfunc = (ci+1)->func; /* previous function index */ |
623 | if (L->openupval) luaF_close(L, base); | ||
623 | base = ci->base = ci->func + ((ci+1)->base - pfunc); | 624 | base = ci->base = ci->func + ((ci+1)->base - pfunc); |
624 | L->base = base; | 625 | L->base = base; |
625 | if (L->openupval) luaF_close(L, base); | ||
626 | for (aux = 0; pfunc+aux < L->top; aux++) /* move frame down */ | 626 | for (aux = 0; pfunc+aux < L->top; aux++) /* move frame down */ |
627 | setobjs2s(L, func+aux, pfunc+aux); | 627 | setobjs2s(L, func+aux, pfunc+aux); |
628 | ci->top = L->top = func+aux; /* correct top */ | 628 | ci->top = L->top = func+aux; /* correct top */ |