wrong error message when 'coroutine.create' or 'coroutine.wrap' are

called with no arguments (new thread is assumed to be the missing
argument).
This commit is contained in:
Roberto Ierusalimschy 2012-04-27 15:59:04 -03:00
parent fc24a3a6c4
commit bb1146dc39
1 changed files with 3 additions and 2 deletions

View File

@ -1,5 +1,5 @@
/* /*
** $Id: lcorolib.c,v 1.2 2010/07/02 11:38:13 roberto Exp roberto $ ** $Id: lcorolib.c,v 1.3 2011/08/23 17:24:34 roberto Exp roberto $
** Coroutine Library ** Coroutine Library
** See Copyright Notice in lua.h ** See Copyright Notice in lua.h
*/ */
@ -80,8 +80,9 @@ static int luaB_auxwrap (lua_State *L) {
static int luaB_cocreate (lua_State *L) { static int luaB_cocreate (lua_State *L) {
lua_State *NL = lua_newthread(L); lua_State *NL;
luaL_checktype(L, 1, LUA_TFUNCTION); luaL_checktype(L, 1, LUA_TFUNCTION);
NL = lua_newthread(L);
lua_pushvalue(L, 1); /* move function to top */ lua_pushvalue(L, 1); /* move function to top */
lua_xmove(L, NL, 1); /* move function from L to NL */ lua_xmove(L, NL, 1); /* move function from L to NL */
return 1; return 1;