<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lua/testes/events.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>2026-07-12T17:57:55+00:00</updated>
<entry>
<title>Bug: Issues with write barrier for __newindex</title>
<updated>2026-07-12T17:57:55+00:00</updated>
<author>
<name>Roberto I</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2026-07-12T17:57:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=b996f8fd1be7fb711cc6f754a31a1c87d2c2fd9b'/>
<id>urn:sha1:b996f8fd1be7fb711cc6f754a31a1c87d2c2fd9b</id>
<content type='text'>
In 'luaV_finishset', there is an update on a table that is a field on
another table. If the first table is the same as the one with the field
(e.g., after 't.__newindex = t'), the update can change the value on
that field (e.g., there may be a collision and the field is moved, or
the field being updated is '__newindex' itself). After that, the
barrier is called with the table stored in that field, which is not
the correct table anymore.
</content>
</entry>
<entry>
<title>Use after free in 'luaV_finishset'</title>
<updated>2025-03-13T18:30:52+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2025-03-13T18:30:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=22974326ca0d4f893849ce722cc1d65b3e228f42'/>
<id>urn:sha1:22974326ca0d4f893849ce722cc1d65b3e228f42</id>
<content type='text'>
If a metatable is a weak table, its __newindex field could be collected
by an emergency collection while being used in 'luaV_finishset'. (This
bug has similarities with bug 5.3.2-1, fixed in commit a272fa66.)
</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>Fixed dangling 'StkId' in 'luaV_finishget'</title>
<updated>2024-03-29T18:10:50+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2024-03-29T18:10:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=88a50ffa715483e7187c0d7d6caaf708ebacf756'/>
<id>urn:sha1:88a50ffa715483e7187c0d7d6caaf708ebacf756</id>
<content type='text'>
Bug introduced in 05932567.
</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>Free bit 7 of GC 'marked' field</title>
<updated>2020-08-07T14:21:44+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2020-08-07T14:21:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=7c3cb71fa48fbe84d9d9c664eb646446fb80898b'/>
<id>urn:sha1:7c3cb71fa48fbe84d9d9c664eb646446fb80898b</id>
<content type='text'>
Tables were using this bit to indicate their array sizes were real
('isrealasize'), but this bit can be useful for tests. Instead, they
can use bit 7 of their 'flag' field for that purpose. (There are only
six fast-access metamethods.) This 'flag' field only exists in tables,
so this use does not affect other types.
</content>
</entry>
<entry>
<title>Details</title>
<updated>2020-02-27T15:59:22+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2020-02-27T15:59:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=6eb53b752617fae9e1329bfe2cfecdcbb593c398'/>
<id>urn:sha1:6eb53b752617fae9e1329bfe2cfecdcbb593c398</id>
<content type='text'>
Several details in code (e.g., moving a variable to the most inner
scope that encloses its uses), comments, parameter names, extra tests.
</content>
</entry>
<entry>
<title>Comments (mosty typos)</title>
<updated>2019-12-30T14:45:08+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-12-30T14:45:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=bd1b87c5790c0c6fe23f76aa360e879922e1e738'/>
<id>urn:sha1:bd1b87c5790c0c6fe23f76aa360e879922e1e738</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Change in the handling of 'L-&gt;top' when calling metamethods</title>
<updated>2019-07-26T17:59:39+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-07-26T17:59:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=b80077b8f3e27a94c6afa895b41a9f8b52c42e61'/>
<id>urn:sha1:b80077b8f3e27a94c6afa895b41a9f8b52c42e61</id>
<content type='text'>
Instead of updating 'L-&gt;top' in every place that may call a
metamethod, the metamethod functions themselves (luaT_trybinTM and
luaT_callorderTM) correct the top. (When calling metamethods from
the C API, however, the callers must preserve 'L-&gt;top'.)
</content>
</entry>
<entry>
<title>Keep correct type for immediate operands in comparisons</title>
<updated>2019-03-22T16:37:17+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-03-22T16:37:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=23e6bac8a0bbb9e5df43cbc0b7634b6d1395b0ff'/>
<id>urn:sha1:23e6bac8a0bbb9e5df43cbc0b7634b6d1395b0ff</id>
<content type='text'>
When calling metamethods for things like 'a &lt; 3.0', which generates
the opcode OP_LTI, the C register tells that the operand was
converted to an integer, so that it can be corrected to float when
calling a metamethod.

This commit also includes some other stuff:
- file 'onelua.c' added to the project
- opcode OP_PREPVARARG renamed to OP_VARARGPREP
- comparison opcodes rewritten through macros
</content>
</entry>
</feed>
