<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lua/testes/locals.lua, branch v5.4.9</title>
<subtitle>A mirror of https://github.com/lua/lua
</subtitle>
<id>https://git.lua4.win/lua/atom?h=v5.4.9</id>
<link rel='self' href='https://git.lua4.win/lua/atom?h=v5.4.9'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/'/>
<updated>2022-12-28T21:34:11+00:00</updated>
<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>Bug: 'break' may not properly close variable in a 'for' loop</title>
<updated>2022-08-24T20:36:47+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2022-08-24T20:36:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=997f11f54322883c3181225f29d101a597f31730'/>
<id>urn:sha1:997f11f54322883c3181225f29d101a597f31730</id>
<content type='text'>
Function 'leaveblock' was generating "break" label before removing
variables from the closing block. If 'createlabel' created a 'close'
instruction (which it did when matching a goto/break that exited
the scope of an upvalue), that instruction would use the wrong level.
</content>
</entry>
<entry>
<title>Bug: 'lua_settop' may use an invalid pointer to stack</title>
<updated>2022-05-25T20:41:39+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2022-05-25T20:41:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=196bb94d66e727e0aec053a0276c3ad701500762'/>
<id>urn:sha1:196bb94d66e727e0aec053a0276c3ad701500762</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Bug: 'local function' can assign to '&lt;const&gt;' variables</title>
<updated>2021-06-20T18:36:36+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2021-06-20T18:36:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=6a0dace25a4b5b77f0fa6911de2ba26ef0fdff2c'/>
<id>urn:sha1:6a0dace25a4b5b77f0fa6911de2ba26ef0fdff2c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Bug: yielding in '__close' mess up number of returns</title>
<updated>2021-04-16T18:41:44+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2021-04-16T18:41:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=681297187ec45268e872b26753c441586c12bdd8'/>
<id>urn:sha1:681297187ec45268e872b26753c441586c12bdd8</id>
<content type='text'>
Yielding in a __close metamethod called when returning vararg results
changes the top and so messes up the number of returned values.
</content>
</entry>
<entry>
<title>Bug: tbc variables in "for" loops don't avoid tail calls</title>
<updated>2021-04-07T17:59:26+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2021-04-07T17:59:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=47cffdc723c2e0c6dfaf62b7775ca1c1d338c0a4'/>
<id>urn:sha1:47cffdc723c2e0c6dfaf62b7775ca1c1d338c0a4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>New test module 'tracegc'</title>
<updated>2021-03-01T16:54:29+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2021-03-01T16:54:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=5276973224066e591b0f1a79c3b091d395848ac4'/>
<id>urn:sha1:5276973224066e591b0f1a79c3b091d395848ac4</id>
<content type='text'>
New module easies the inclusion of GC tracing in individual test files.
</content>
</entry>
<entry>
<title>'__close' methods can yield in the return of a C function</title>
<updated>2021-02-12T16:36:30+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2021-02-12T16:36:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=bc970005ce2e258e29a5c315ea4e49f76a66586e'/>
<id>urn:sha1:bc970005ce2e258e29a5c315ea4e49f76a66586e</id>
<content type='text'>
When, inside a coroutine, a C function with to-be-closed slots return,
the corresponding metamethods can yield. ('__close' metamethods called
through 'lua_closeslot' still cannot yield, as there is no continuation
to go when resuming.)
</content>
</entry>
<entry>
<title>New implementation for to-be-closed variables</title>
<updated>2021-02-09T17:00:05+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2021-02-09T17:00:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=4e47f81188d37e29027158b76271d02a781242e2'/>
<id>urn:sha1:4e47f81188d37e29027158b76271d02a781242e2</id>
<content type='text'>
To-be-closed variables are linked in their own list, embedded into the
stack elements. (Due to alignment, this information does not change
the size of the stack elements in most architectures.)  This new list
does not produce garbage and avoids memory errors when creating tbc
variables.
</content>
</entry>
<entry>
<title>Correct order of return hooks vs. close metamethods</title>
<updated>2021-01-21T13:27:22+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2021-01-21T13:27:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=0e9254dfa03d95c3aa2888cf78e9a30bc88d41bc'/>
<id>urn:sha1:0e9254dfa03d95c3aa2888cf78e9a30bc88d41bc</id>
<content type='text'>
The return hook should be called only after closing variables (which
are still part of the function). C functions were calling the hook
before the metamethods.
</content>
</entry>
</feed>
