File tree Expand file tree Collapse file tree 3 files changed +5
-1
lines changed
Expand file tree Collapse file tree 3 files changed +5
-1
lines changed Original file line number Diff line number Diff line change @@ -985,7 +985,7 @@ void luaK_exp2anyregup (FuncState *fs, expdesc *e) {
985985** or it is a constant.
986986*/
987987void luaK_exp2val (FuncState * fs , expdesc * e ) {
988- if (hasjumps (e ))
988+ if (e -> k == VJMP || hasjumps (e ))
989989 luaK_exp2anyreg (fs , e );
990990 else
991991 luaK_dischargevars (fs , e );
Original file line number Diff line number Diff line change @@ -342,8 +342,10 @@ int luaE_resetthread (lua_State *L, int status) {
342342LUA_API int lua_closethread (lua_State * L , lua_State * from ) {
343343 int status ;
344344 lua_lock (L );
345+ luai_threadcall (L , from );
345346 L -> nCcalls = (from ) ? getCcalls (from ) : 0 ;
346347 status = luaE_resetthread (L , L -> status );
348+ luai_threadret (from , L );
347349 lua_unlock (L );
348350 return status ;
349351}
Original file line number Diff line number Diff line change @@ -342,8 +342,10 @@ int luaE_resetthread (lua_State *L, int status) {
342342LUA_API int lua_closethread (lua_State * L , lua_State * from ) {
343343 int status ;
344344 lua_lock (L );
345+ luai_threadcall (L , from );
345346 L -> nCcalls = (from ) ? getCcalls (from ) : 0 ;
346347 status = luaE_resetthread (L , L -> status );
348+ luai_threadret (from , L );
347349 lua_unlock (L );
348350 return status ;
349351}
You can’t perform that action at this time.
0 commit comments