<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lua/ltable.c, 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-01-04T19:27:54+00:00</updated>
<entry>
<title>Details</title>
<updated>2026-01-04T19:27:54+00:00</updated>
<author>
<name>Roberto I</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2026-01-04T19:27:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=962f444a755882ecfc24ca7e96ffe193d64ed12d'/>
<id>urn:sha1:962f444a755882ecfc24ca7e96ffe193d64ed12d</id>
<content type='text'>
In an assignment like 'a = &amp;b', is looks suspicious if 'a' has a scope
larger than 'b'.
</content>
</entry>
<entry>
<title>Details</title>
<updated>2025-12-30T13:50:49+00:00</updated>
<author>
<name>Roberto I</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2025-12-30T13:50:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=c4e2c91973fed04e7da940c00c92f10f9eb0f9ec'/>
<id>urn:sha1:c4e2c91973fed04e7da940c00c92f10f9eb0f9ec</id>
<content type='text'>
Some comments still talked about bit 'isrealasize', which has been
removed.
</content>
</entry>
<entry>
<title>Details</title>
<updated>2025-08-09T18:08:53+00:00</updated>
<author>
<name>Roberto I</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2025-08-09T18:08:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=5b179eaf6a78af5f000d76147af94669d04487b2'/>
<id>urn:sha1:5b179eaf6a78af5f000d76147af94669d04487b2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Randomness added to table length computation</title>
<updated>2025-07-18T19:18:30+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2025-07-18T19:18:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=303f4155593721dfd57dadc6e56122e465ce9efb'/>
<id>urn:sha1:303f4155593721dfd57dadc6e56122e465ce9efb</id>
<content type='text'>
A bad actor could fill only a few entries in a table (power of twos in
decreasing order, see tests) and produce a small table with a huge
length. If your program builds a table with external data and iterates
over its length, this behavior could be an issue.
</content>
</entry>
<entry>
<title>Short strings can be external, too</title>
<updated>2025-07-15T17:40:27+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2025-07-15T17:40:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=60b6599e8322dd93e3b33c9496ff035a1c45552f'/>
<id>urn:sha1:60b6599e8322dd93e3b33c9496ff035a1c45552f</id>
<content type='text'>
That complicates a little object equality (and therefore table access
for long strings), but the old behavior was somewhat weird. (Short
strings, a concept otherwise absent from the manual, could not be
external.)
</content>
</entry>
<entry>
<title>New macro 'l_numbits'</title>
<updated>2025-03-27T15:38:29+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2025-03-27T15:38:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=ef5d171cc89b19ac1fea905b99d819b5f97cba00'/>
<id>urn:sha1:ef5d171cc89b19ac1fea905b99d819b5f97cba00</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Details</title>
<updated>2025-01-16T14:51:16+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2025-01-16T14:51:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=2d8d5c74b5ef3d333314feede0165df7c3d13811'/>
<id>urn:sha1:2d8d5c74b5ef3d333314feede0165df7c3d13811</id>
<content type='text'>
New year (2024-&gt;2025), typos in comments
</content>
</entry>
<entry>
<title>Fixed conversion warnings from clang</title>
<updated>2025-01-14T19:24:46+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2025-01-14T19:24:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=3cdd49c94a8feed94853ba3a6adaa556fb34fd8d'/>
<id>urn:sha1:3cdd49c94a8feed94853ba3a6adaa556fb34fd8d</id>
<content type='text'>
Plus some other details. (Option '-Wuninitialized' was removed from
the makefile because it is already enabled by -Wall.)
</content>
</entry>
<entry>
<title>Detail (debugging aid)</title>
<updated>2025-01-06T15:41:39+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2025-01-06T15:41:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=1ec251e091302515e54aa81d965840a5de4be0a1'/>
<id>urn:sha1:1ec251e091302515e54aa81d965840a5de4be0a1</id>
<content type='text'>
When compiling with option HARDMEMTESTS, every creation of a new key
in a table forces an emergency GC.
</content>
</entry>
<entry>
<title>Small optimization in 'luaH_psetshortstr'</title>
<updated>2024-12-28T18:05:01+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2024-12-28T18:05:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=abf8b1cd4a798fada026b4046e9dbc08791963f2'/>
<id>urn:sha1:abf8b1cd4a798fada026b4046e9dbc08791963f2</id>
<content type='text'>
Do not optimize only for table updates (key already present).
Creation of new short keys in new tables can be quite common in
programs that create lots of small tables, for instance with
constructors like {x=e1,y=e2}.
</content>
</entry>
</feed>
