Am I correct in understanding that this macro:
#define LUA_ABS_INDEX(L, i) ((i) > 0 || (i) <= LUA_REGISTRYINDEX ? (i) : \
lua_gettop(L) + (i) + 1)
will turn a negative stack index into a positive one, which will continue to refer to the same object even after I push/pop things onto the stack (as long as I don't remove that object)? If not, how can I achieve this?
Am I also correct in that this functionality is not exposed in the Lua API, or has that been changed (or was never true to begin with)?