trying to make sense of how bindings are created

lua_State contains these StkId fields (stack, stack_last, base, top)
that expand to a pointer of a struct containing a Lua value and an int.
Unclear how it's used, or how you build a stack out of it.
This commit is contained in:
Kartik K. Agaram 2021-10-24 09:23:54 -07:00
parent 36ef0c236e
commit c80bafed74
3 changed files with 2 additions and 4 deletions

View File

@ -371,7 +371,7 @@ static int pmain (lua_State *L) {
int main (int argc, char **argv) {
int status;
struct Smain s;
lua_State *L = lua_open(); /* create state */
lua_State *L = luaL_newstate();
if (L == NULL) {
l_message(argv[0], "cannot create state: not enough memory");
return EXIT_FAILURE;

View File

@ -284,8 +284,6 @@ LUA_API void lua_setallocf (lua_State *L, lua_Alloc f, void *ud);
** compatibility macros and functions
*/
#define lua_open() luaL_newstate()
#define lua_getregistry(L) lua_pushvalue(L, LUA_REGISTRYINDEX)
#define lua_getgccount(L) lua_gc(L, LUA_GCCOUNT, 0)

View File

@ -190,7 +190,7 @@ int main(int argc, char* argv[])
int i=doargs(argc,argv);
argc-=i; argv+=i;
if (argc<=0) usage("no input files given");
L=lua_open();
L=luaL_newstate();
if (L==NULL) fatal("not enough memory for state");
s.argc=argc;
s.argv=argv;