<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lua/lstate.h, 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-21T19:51:04+00:00</updated>
<entry>
<title>Avoid casts to 'union GCUnion*'</title>
<updated>2026-07-21T19:51:04+00:00</updated>
<author>
<name>Roberto I</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2026-07-21T19:51:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=9130ceb19d324472d135e8e644a01e8b16334c31'/>
<id>urn:sha1:9130ceb19d324472d135e8e644a01e8b16334c31</id>
<content type='text'>
The union may have alignment requirements stricter than some of its
members. Some checking tools (e.g., gcc with options -fsanitize) can
then complain that the result of a cast from pointer to member to
pointer to the union is misaligned.
</content>
</entry>
<entry>
<title>More effort in avoiding errors in finalizers</title>
<updated>2026-01-11T18:36:03+00:00</updated>
<author>
<name>Roberto I</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2026-01-11T18:36:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=2a7cf4f319fc276f4554a8f6364e6b1ba4eb2ded'/>
<id>urn:sha1:2a7cf4f319fc276f4554a8f6364e6b1ba4eb2ded</id>
<content type='text'>
Before calling a finalizer, Lua not only checks stack limits, but
actually ensures that a minimum number of slots are already allocated
for the call. (If it cannot ensure that, it postpones the finalizer.)
That avoids finalizers not running due to memory errors that the
programmer cannot control.
</content>
</entry>
<entry>
<title>Removed code for compatibility with version 5.3</title>
<updated>2025-08-20T19:10:54+00:00</updated>
<author>
<name>Roberto I</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2025-08-20T19:10:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=06c5d3825f03eafc90b56d43f70f70048b785bc8'/>
<id>urn:sha1:06c5d3825f03eafc90b56d43f70f70048b785bc8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Detail in 'obj2gco'</title>
<updated>2025-08-20T17:18:12+00:00</updated>
<author>
<name>Roberto I</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2025-08-20T17:18:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=c688b00f73205273c46d7cf5656ff5a27e90ce36'/>
<id>urn:sha1:c688b00f73205273c46d7cf5656ff5a27e90ce36</id>
<content type='text'>
Its check should use the type of the object, not its tag. (Change only
relevant in test mode.)
</content>
</entry>
<entry>
<title>Correction in definition of CIST_FRESH</title>
<updated>2025-07-07T18:03:45+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2025-07-07T18:03:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=848568790826b7e201f84682185b5b605c473016'/>
<id>urn:sha1:848568790826b7e201f84682185b5b605c473016</id>
<content type='text'>
The cast must be made before the shift. If int has 16 bits, the shift
would zero the value and the cast would cast 0 to 0.
</content>
</entry>
<entry>
<title>'lua_State.nci' must be an integer</title>
<updated>2025-02-26T14:31:10+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2025-02-26T14:31:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=f9e35627ed26dff4114a1d01ff113d8b4cc91ab5'/>
<id>urn:sha1:f9e35627ed26dff4114a1d01ff113d8b4cc91ab5</id>
<content type='text'>
Lua can easily overflow an unsigned short counting nested calls.
(The limit to this value is the maximum stack size, LUAI_MAXSTACK,
which is currently 1e6.)
</content>
</entry>
<entry>
<title>Main thread is a regular field of global_State</title>
<updated>2025-01-31T16:51:38+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2025-01-31T16:51:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=fa1382b5cd504bdfc5fc3f5c447ed09a4c9804fd'/>
<id>urn:sha1:fa1382b5cd504bdfc5fc3f5c447ed09a4c9804fd</id>
<content type='text'>
They were already allocated as a single block, so there is no need
for the global_State to point to its main thread.
</content>
</entry>
<entry>
<title>New type 'TStatus' for thread status/error codes</title>
<updated>2025-01-30T14:41:39+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2025-01-30T14:41:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=d1e677c52be3b107a7a29fdc482158f6d9251e79'/>
<id>urn:sha1:d1e677c52be3b107a7a29fdc482158f6d9251e79</id>
<content type='text'>
</content>
</entry>
<entry>
<title>CallInfo bit CIST_CLSRET broken in two</title>
<updated>2025-01-28T14:45:45+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2025-01-28T14:45:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=39a14ea7d7b14172595c61619e8f35c2614b2606'/>
<id>urn:sha1:39a14ea7d7b14172595c61619e8f35c2614b2606</id>
<content type='text'>
Since commit f407b3c4a, it was being used for two distinct (and
incompatible) meanings:
A: Function has TBC variables (now bit CIST_TBC)
B: Interpreter is closing TBC variables (original bit CIST_CLSRET)

B implies A, but A does not imply B.
</content>
</entry>
<entry>
<title>Improvements in the manual</title>
<updated>2025-01-10T18:11:54+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2025-01-10T18:11:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=915c29f8bd0d4b0435a4b51a6c7913f5e170d09e'/>
<id>urn:sha1:915c29f8bd0d4b0435a4b51a6c7913f5e170d09e</id>
<content type='text'>
Plus details
</content>
</entry>
</feed>
