|
|
||
|
Roberto Ierusalimschy wrote:
To test this theory, those with the bug could just remove the following
lines from luaF_close (lfunc.c:108):
unlinkupval(uv);
setobj(L, &uv->u.value, uv->v);
- if (isgray(o)) {
- gray2black(o); /* closed upvalues are never gray */
- luaC_barrier(L, uv, &uv->u.value);
- }
uv->v = &uv->u.value; /* now current value lives here */
luaC_linkupval(L, uv); /* link upvalue into `gcroot' list */
Thanks, I'll check this tomorrow. --Adam -- Adam D. Moss - adam@gimp.org