diff options
Diffstat (limited to 'lfunc.c')
-rw-r--r-- | lfunc.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -202,6 +202,7 @@ int luaF_close (lua_State *L, StkId level, int status) { | |||
202 | while ((uv = L->openupval) != NULL && uplevel(uv) >= level) { | 202 | while ((uv = L->openupval) != NULL && uplevel(uv) >= level) { |
203 | StkId upl = uplevel(uv); | 203 | StkId upl = uplevel(uv); |
204 | TValue *slot = &uv->u.value; /* new position for value */ | 204 | TValue *slot = &uv->u.value; /* new position for value */ |
205 | lua_assert(upl < L->top); | ||
205 | luaF_unlinkupval(uv); | 206 | luaF_unlinkupval(uv); |
206 | setobj(L, slot, uv->v); /* move value to upvalue slot */ | 207 | setobj(L, slot, uv->v); /* move value to upvalue slot */ |
207 | uv->v = slot; /* now current value lives here */ | 208 | uv->v = slot; /* now current value lives here */ |