فهرست منبع

Allow running C functions with coroutine.create(), too.

Mike Pall 15 سال پیش
والد
کامیت
3754a8fe7a
3فایلهای تغییر یافته به همراه3 افزوده شده و 4 حذف شده
  1. 2 2
      src/lib_base.c
  2. 1 1
      src/lib_jit.c
  3. 0 1
      src/lj_errmsg.h

+ 2 - 2
src/lib_base.c

@@ -479,8 +479,8 @@ LJLIB_CF(coroutine_running)
 LJLIB_CF(coroutine_create)
 {
   lua_State *L1 = lua_newthread(L);
-  if (!(L->top > L->base && tvisfunc(L->base) && isluafunc(funcV(L->base))))
-    lj_err_arg(L, 1, LJ_ERR_NOLFUNC);
+  if (!(L->base < L->top && tvisfunc(L->base)))
+    lj_err_argt(L, 1, LUA_TFUNCTION);
   setfuncV(L, L1->top++, funcV(L->base));
   return 1;
 }

+ 1 - 1
src/lib_jit.c

@@ -52,7 +52,7 @@ static int setjitmode(lua_State *L, int mode)
     if ((mode & LUAJIT_MODE_MASK) == LUAJIT_MODE_ENGINE)
       lj_err_caller(L, LJ_ERR_NOJIT);
   err:
-    lj_err_arg(L, 1, LJ_ERR_NOLFUNC);
+    lj_err_argt(L, 1, LUA_TFUNCTION);
   }
   return 0;
 }

+ 0 - 1
src/lj_errmsg.h

@@ -44,7 +44,6 @@ ERRDEF(BADVAL,	"invalid value")
 ERRDEF(NOVAL,	"value expected")
 ERRDEF(NOCORO,	"coroutine expected")
 ERRDEF(NOTABN,	"nil or table expected")
-ERRDEF(NOLFUNC,	"Lua function expected")
 ERRDEF(NOFUNCL,	"function or level expected")
 ERRDEF(NOSFT,	"string/function/table expected")
 ERRDEF(NOPROXY,	"boolean or proxy expected")