<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lua/testes/closure.lua, branch v5.5.1</title>
<subtitle>A mirror of https://github.com/lua/lua
</subtitle>
<id>https://git.lua4.win/lua/atom?h=v5.5.1</id>
<link rel='self' href='https://git.lua4.win/lua/atom?h=v5.5.1'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/'/>
<updated>2025-05-18T14:43:43+00:00</updated>
<entry>
<title>Variable attributes can prefix name list</title>
<updated>2025-05-18T14:43:43+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2025-05-18T14:43:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=abbae57c7844b1121e7251d56f681394f20c1821'/>
<id>urn:sha1:abbae57c7844b1121e7251d56f681394f20c1821</id>
<content type='text'>
In this format, the attribute applies to all names in the list;
e.g. "global&lt;const&gt; print, require, math".
</content>
</entry>
<entry>
<title>Collective declaration for globals ('global *')</title>
<updated>2025-05-13T14:43:10+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2025-05-13T14:43:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=3b9dd52be02fd43c598f4adb6fa7844e6a573923'/>
<id>urn:sha1:3b9dd52be02fd43c598f4adb6fa7844e6a573923</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Removed copyright notice from 'testes/all.lua'</title>
<updated>2025-03-12T17:00:58+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2025-03-12T17:00:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=ab66652b3270b95222dea134b5e47bb3afc434cc'/>
<id>urn:sha1:ab66652b3270b95222dea134b5e47bb3afc434cc</id>
<content type='text'>
All test files refer to the main copyright notice in 'lua.h'.
</content>
</entry>
<entry>
<title>Bug: wrong code gen. for indices with comparisons</title>
<updated>2024-08-17T15:47:28+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2024-08-17T15:37:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=8b752ddf14c1987411906d07a8c68f72f168b9b7'/>
<id>urn:sha1:8b752ddf14c1987411906d07a8c68f72f168b9b7</id>
<content type='text'>
In function 'luaK_exp2val', used to generate code for indices: Macro
'hasjumps' does not consider the case when the whole expression is a
"jump" (a test). In all other of its uses, the surrounding code ensures
that the expression cannot be VJMP.
</content>
</entry>
<entry>
<title>Merge branch 'master' into nextversion</title>
<updated>2022-12-28T21:38:20+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2022-12-28T21:38:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=b5ab31a475ccf5f96c2ffb34fccc1d6592913794'/>
<id>urn:sha1:b5ab31a475ccf5f96c2ffb34fccc1d6592913794</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Avoid excessive name pollution in test files</title>
<updated>2022-12-28T21:34:11+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2022-12-28T21:34:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=314745ed8438d1276c6c928d5f9d4be018dfadb6'/>
<id>urn:sha1:314745ed8438d1276c6c928d5f9d4be018dfadb6</id>
<content type='text'>
Test files are more polite regarding the use of globals when locals
would do, and when globals are necessary deleting them after use.
</content>
</entry>
<entry>
<title>Control variables in for loops are read only</title>
<updated>2022-12-21T15:04:59+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2022-12-21T15:04:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=b2f7b3b79f3117885b265575f6c5dbf934757797'/>
<id>urn:sha1:b2f7b3b79f3117885b265575f6c5dbf934757797</id>
<content type='text'>
</content>
</entry>
<entry>
<title>'lua_upvalueid' returns NULL on invalid upvalue index</title>
<updated>2020-10-12T17:51:28+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2020-10-12T17:51:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=30528049f1d11ea2854a6431e8e8524f83206559'/>
<id>urn:sha1:30528049f1d11ea2854a6431e8e8524f83206559</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Removed internal cache for closures</title>
<updated>2018-11-01T16:21:00+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2018-11-01T16:21:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=e8c779736f3029df353038352c14c8ab63728811'/>
<id>urn:sha1:e8c779736f3029df353038352c14c8ab63728811</id>
<content type='text'>
The mechanism of "caching the last closure created for a prototype to
try to reuse it the next time a closure for that prototype is created"
was removed. There are several reasons:

- It is hard to find a natural example where this cache has a measurable
impact on performance.

- Programmers already perceive closure creation as something slow,
so they tend to avoid it inside hot paths. (Any case where the cache
could reuse a closure can be rewritten predefining the closure in some
variable and using that variable.)

- The implementation was somewhat complex, due to a bad interaction
with the generational collector. (Typically, new closures are new,
while prototypes are old. So, the cache breaks the invariant that
old objects should not point to new ones.)
</content>
</entry>
<entry>
<title>Added directory to test file names in '$Id:'</title>
<updated>2018-07-25T18:31:04+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2018-07-25T18:31:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=aa4c5cf190f77ab2730af5e21cfd2b830ff329df'/>
<id>urn:sha1:aa4c5cf190f77ab2730af5e21cfd2b830ff329df</id>
<content type='text'>
From the point of view of 'git', all names are relative to the root
directory of the project. So, file names in '$Id:' also should be
relative to that directory: the proper name for test file 'all.lua'
is 'testes/all.lua'.
</content>
</entry>
</feed>
