diff options
Diffstat (limited to 'src/lua/lfunc.c')
| -rw-r--r-- | src/lua/lfunc.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/lua/lfunc.c b/src/lua/lfunc.c index 10100e5..f8c3c44 100644 --- a/src/lua/lfunc.c +++ b/src/lua/lfunc.c | |||
| @@ -234,9 +234,10 @@ int luaF_close (lua_State *L, StkId level, int status) { | |||
| 234 | luaF_unlinkupval(uv); | 234 | luaF_unlinkupval(uv); |
| 235 | setobj(L, slot, uv->v); /* move value to upvalue slot */ | 235 | setobj(L, slot, uv->v); /* move value to upvalue slot */ |
| 236 | uv->v = slot; /* now current value lives here */ | 236 | uv->v = slot; /* now current value lives here */ |
| 237 | if (!iswhite(uv)) | 237 | if (!iswhite(uv)) { /* neither white nor dead? */ |
| 238 | gray2black(uv); /* closed upvalues cannot be gray */ | 238 | gray2black(uv); /* closed upvalues cannot be gray */ |
| 239 | luaC_barrier(L, uv, slot); | 239 | luaC_barrier(L, uv, slot); |
| 240 | } | ||
| 240 | } | 241 | } |
| 241 | return status; | 242 | return status; |
| 242 | } | 243 | } |
