[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Absolute stack indexes
- From: Coroutines <coroutines@...>
- Date: Wed, 5 Mar 2014 21:37:29 -0800
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