В примере кода: http://lua-users.org/wiki/SimplerCppBinding
Есть код:
lua_pushstring(L, T::className);
lua_pushvalue(L, methods);
lua_settable(L, LUA_GLOBALSINDEX); //<--- LUA_GLOBALSINDEX removed in Lua 5.2
lua_pushliteral(L, "__metatable");
lua_pushvalue(L, methods);
lua_settable(L, metatable);
В Lua 5.2 LUA_GLOBALSINDEX больше не существует. Вместо этого у него есть lua_setglobal() и lua_getglobal().
Правильно ли я думаю, что:
lua_pushvalue(L, methods);
lua_setglobal(L, T::className);
... является правильной заменой для:
lua_pushstring(L, T::className);
lua_pushvalue(L, methods);
lua_settable(L, LUA_GLOBALSINDEX);
Я слишком новичок в Lua, чтобы быть уверенным, я не использовал его 8 месяцев. Глядя на документацию, я думаю, что это правильно, но хотел бы проверить.