|
On Mar 25, 2008, at 9:25 PM, Eugen-Andrei Gavriloaie wrote:
L2 = lua_newthread(L); lua_pushvalue(L, true);Stack status: elem1 elem2 ..... elemN thread true [top of the stack]lua_settable(L, LUA_REGISTRYINDEX); // pops the thread from the parent stateThis is translated into: t[thread]=true. Is this correct?
Yes.
lua_pushthread(L2); lua_pushnil(L2);Stack status: elem1 elem2 ..... elemN thread nil [top of the stack]t[thread]=nil. Is this correct? If it is that means that putting nil value into a table removes that pair?lua_settable(L2, LUA_REGISTRYINDEX);
Yes. Setting a value to nil in Lua removes a reference; any value with no reference is available for garbage collection.