** Close all upvalues and to-be-closed variables up to the given stack ** level. Return restored 'level'. */
| 225 | ** level. Return restored 'level'. |
| 226 | */ |
| 227 | StkId luaF_close (lua_State *L, StkId level, int status, int yy) { |
| 228 | ptrdiff_t levelrel = savestack(L, level); |
| 229 | luaF_closeupval(L, level); /* first, close the upvalues */ |
| 230 | while (L->tbclist.p >= level) { /* traverse tbc's down to that level */ |
| 231 | StkId tbc = L->tbclist.p; /* get variable index */ |
| 232 | poptbclist(L); /* remove it from list */ |
| 233 | prepcallclosemth(L, tbc, status, yy); /* close variable */ |
| 234 | level = restorestack(L, levelrel); |
| 235 | } |
| 236 | return level; |
| 237 | } |
| 238 | |
| 239 | |
| 240 | Proto *luaF_newproto (lua_State *L) { |
no test coverage detected