diff options
Diffstat (limited to 'lvm.c')
-rw-r--r-- | lvm.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -697,7 +697,7 @@ static void pushclosure (lua_State *L, Proto *p, UpVal **encup, StkId base, | |||
697 | setclLvalue2s(L, ra, ncl); /* anchor new closure in stack */ | 697 | setclLvalue2s(L, ra, ncl); /* anchor new closure in stack */ |
698 | for (i = 0; i < nup; i++) { /* fill in its upvalues */ | 698 | for (i = 0; i < nup; i++) { /* fill in its upvalues */ |
699 | if (uv[i].instack) /* upvalue refers to local variable? */ | 699 | if (uv[i].instack) /* upvalue refers to local variable? */ |
700 | luaF_setupval(L, base + uv[i].idx, &ncl->upvals[i]); | 700 | ncl->upvals[i] = luaF_findupval(L, base + uv[i].idx); |
701 | else /* get upvalue from enclosing function */ | 701 | else /* get upvalue from enclosing function */ |
702 | ncl->upvals[i] = encup[uv[i].idx]; | 702 | ncl->upvals[i] = encup[uv[i].idx]; |
703 | luaC_objbarrier(L, ncl, ncl->upvals[i]); | 703 | luaC_objbarrier(L, ncl, ncl->upvals[i]); |