[Tarantool-patches] [PATCH v2 1/3] test: corrected reported error lines

Igor Munkin imun at tarantool.org
Wed Jul 21 10:24:57 MSK 2021


Timur,

On 30.06.21, Timur Safin wrote:
> : From: Igor Munkin <imun at tarantool.org>
> : Subject: Re: [Tarantool-patches] [PATCH v2 1/3] test: corrected reported
> : error lines
> : 
> : Timur,
> : 
>  
> : > :
> : > : Minor: Strictly saying :123 part is also broken.
> : >
> : > O_o, why? Could you please clarify? We report it as line number in the
> : > source file, in this case tkt-9a8b09f8e6.test.lua:123 was exactly the
> : > caller location?
> : 
> : Do you need the location of definition (:123) or location where the
> : function execution is stopped at the moment (:142)? If I got your point,
> : you prefer the latter, right?
> 
> FWIW, currentline is pointing _exactly_ to the line number in the file
> Which was calling this error, not to the start of function definition. 

Yes, this is written in Lua Reference Manual[1].

> At least in our cases, when we not introduce any extra do scopes.

What is wrong with extra do scopes?

> 
> [Now I start to worry with the question when .linedefined is not 0
> and whether we would need to sum .currentline and .linedefined to 
> get actual source line in the file?]
> 
> : > if currentline may be missing in the traceback object for any reason.
> : 
> : It may not, considering the flags used for obtaining debug info.
> : 
> : > If it's impossible for the set of requested flags, then I'll get rid
> : > of linedefined here.
> : 
> : Yes, <currentline> field is provided by 'l' flag[1]. Please, get rid of
> : <linedefined> and the default 0 and drop a few sentences regarding this
> : change in commit message.
> 
> Please see my worries about .linedefined above. Currently it's in main scope,
> when it will be not main scope, do any extra do create separate scope? 

Lexical blocks are described here[2].

> Could .currentline be .linedefined related or it's guaranteed to be 
> Counted from start of file?

I see nothing about such odd behaviour in Reference Manual[1], but you
can check manually whether LuaJIT works fine in this case.

> 
> : 
> : [1]: https://www.lua.org/manual/5.1/manual.html#lua_getinfo
> : 
> : --
> : Best regards,
> : IM
> 

[1]: https://www.lua.org/manual/5.1/manual.html#3.8
[2]: https://www.lua.org/manual/5.1/manual.html#2.4.2

-- 
Best regards,
IM


More information about the Tarantool-patches mailing list