7.3 - Changes in the API
The luaopen_* functions (to open libraries)
cannot be called directly,
like a regular C function.
They must be called through lua,
like a Lua function.
Function lua_open was replaced by lua_newstate to
allow the user to set a memory-allocation function.
You can use luaL_newstate from the standard library to
create a state with a standard allocation function
(based on realloc).
Functions luaL_getn and luaL_setn
(from the auxiliary library) are deprecated.
Use lua_objlen instead of luaL_getn
and nothing instead of luaL_setn.
Function luaL_openlib was replaced by luaL_register.
Function luaL_checkudata now throws an error when the given value
is not a userdata of the expected type.
(In Lua 5.0 it returned NULL.)