lua-users home
lua-l archive

Re: accessing upvalues

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


Luiz Henrique de Figueiredo wrote:
> 
> For debugging, the function is active, and there is a way. As the manual says:
> 
> Then, whenever the C function is called, these upvalues are inserted
> as the last arguments to the function, after the actual arguments
> provided in the call. This makes it easy to get the upvalues without
> knowing how many arguments the function received (recall that
> functions in Lua can receive any number of arguments): The i-th
> upvalue is in the stack at index i-(n+1), where n is the number of
> upvalues.
> 
> So, you can use getlocal or lua_getlocal.
> --lhf
I believe that the manual is referring to getting upvalues passed to a C
routine from lua. This is not the same problem. I took a quick look at
the implementation of lua_getlocal. It calls luaF_getlocalname which
does not handle upvalues. It looks to me like the names of the upvalues
are not saved, so I guess that retrieving an upvalue by name (as is
needed for debugging) is simply not possible.
Gordon

AltStyle によって変換されたページ (->オリジナル) /