lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


On Wed, Mar 5, 2014 at 9:27 PM, Rena <hyperhacker@gmail.com> wrote:
> On Thu, Mar 6, 2014 at 12:24 AM, Coroutines <coroutines@gmail.com> wrote:
>>
>> On Wed, Mar 5, 2014 at 9:05 PM, Rena <hyperhacker@gmail.com> wrote:
>> > 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)?
>> >
>> > --
>> > Sent from my Game Boy.
>>
>>
>> I think you want this one?  It's there in 5.2:
>> http://www.lua.org/manual/5.2/manual.html#lua_absindex
>>
>
> That sounds like what I want. What would I use in 5.1?
>
> --
> Sent from my Game Boy.

Oh!  In Lua 5.1 it's an undocumented macro in lauxlib.c :-)  See here:
http://www.lua.org/source/5.1/lauxlib.c.html#abs_index