mirror of
https://github.com/lua/lua
synced 2024-12-27 12:49:43 +03:00
Manual: errors in lua_toclose are not memory errors
This commit is contained in:
parent
262dc5729a
commit
cbdf4969ec
@ -951,7 +951,7 @@ LUALIB_API const char *luaL_tolstring (lua_State *L, int idx, size_t *len) {
|
||||
LUALIB_API void luaL_setfuncs (lua_State *L, const luaL_Reg *l, int nup) {
|
||||
luaL_checkstack(L, nup, "too many upvalues");
|
||||
for (; l->name != NULL; l++) { /* fill the table with given functions */
|
||||
if (l->func == NULL) /* place holder? */
|
||||
if (l->func == NULL) /* placeholder? */
|
||||
lua_pushboolean(L, 0);
|
||||
else {
|
||||
int i;
|
||||
|
2
liolib.c
2
liolib.c
@ -773,7 +773,7 @@ static const luaL_Reg meth[] = {
|
||||
** metamethods for file handles
|
||||
*/
|
||||
static const luaL_Reg metameth[] = {
|
||||
{"__index", NULL}, /* place holder */
|
||||
{"__index", NULL}, /* placeholder */
|
||||
{"__gc", f_gc},
|
||||
{"__close", f_gc},
|
||||
{"__tostring", f_tostring},
|
||||
|
@ -4475,7 +4475,7 @@ otherwise, returns @id{NULL}.
|
||||
}
|
||||
|
||||
@APIEntry{void lua_toclose (lua_State *L, int index);|
|
||||
@apii{0,0,m}
|
||||
@apii{0,0,v}
|
||||
|
||||
Marks the given index in the stack as a
|
||||
to-be-closed slot @see{to-be-closed}.
|
||||
@ -4492,6 +4492,9 @@ A slot marked as to-be-closed should not be removed from the stack
|
||||
by any other function in the API except @Lid{lua_settop} or @Lid{lua_pop},
|
||||
unless previously deactivated by @Lid{lua_closeslot}.
|
||||
|
||||
This function raises an error if the value at the given slot
|
||||
neither has a @idx{__close} metamethod nor is a false value.
|
||||
|
||||
This function should not be called for an index
|
||||
that is equal to or below an active to-be-closed slot.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user