diffu-lua-5.5.0-rc2-rc3
README
@@ -1,5 +1,5 @@
-This is Lua 5.5.0, released on 01 Dec 2025.
+This is Lua 5.5.0, released on 08 Dec 2025.
For installation instructions, license details, and
further information about Lua, see doc/readme.html.
doc/contents.html
@@ -10,7 +10,7 @@
<BODY>
<H1>
-<A HREF="https://www.lua.org/"><IMG SRC="logo.gif" ALT="Lua"></A>
+<A HREF="https://www.lua.org/"><IMG SRC="logo.png" ALT="Lua"></A>
Lua 5.5 Reference Manual
</H1>
@@ -597,18 +597,8 @@
<A HREF="manual.html#luaL_unref">luaL_unref</A><BR>
<A HREF="manual.html#luaL_where">luaL_where</A><BR>
-<H3><A NAME="library">standard library</A></H3>
<P>
-<A HREF="manual.html#pdf-luaopen_base">luaopen_base</A><BR>
-<A HREF="manual.html#pdf-luaopen_coroutine">luaopen_coroutine</A><BR>
-<A HREF="manual.html#pdf-luaopen_debug">luaopen_debug</A><BR>
-<A HREF="manual.html#pdf-luaopen_io">luaopen_io</A><BR>
-<A HREF="manual.html#pdf-luaopen_math">luaopen_math</A><BR>
-<A HREF="manual.html#pdf-luaopen_os">luaopen_os</A><BR>
-<A HREF="manual.html#pdf-luaopen_package">luaopen_package</A><BR>
-<A HREF="manual.html#pdf-luaopen_string">luaopen_string</A><BR>
-<A HREF="manual.html#pdf-luaopen_table">luaopen_table</A><BR>
-<A HREF="manual.html#pdf-luaopen_utf8">luaopen_utf8</A><BR>
+<A HREF="manual.html#pdf-LUAL_BUFFERSIZE">LUAL_BUFFERSIZE</A><BR>
<H3><A NAME="constants">constants</A></H3>
<P>
@@ -617,6 +607,22 @@
<A HREF="manual.html#pdf-LUA_ERRMEM">LUA_ERRMEM</A><BR>
<A HREF="manual.html#pdf-LUA_ERRRUN">LUA_ERRRUN</A><BR>
<A HREF="manual.html#pdf-LUA_ERRSYNTAX">LUA_ERRSYNTAX</A><BR>
+<A HREF="manual.html#pdf-LUA_GCCOLLECT">LUA_GCCOLLECT</A><BR>
+<A HREF="manual.html#pdf-LUA_GCCOUNT">LUA_GCCOUNT</A><BR>
+<A HREF="manual.html#pdf-LUA_GCCOUNTB">LUA_GCCOUNTB</A><BR>
+<A HREF="manual.html#pdf-LUA_GCGEN">LUA_GCGEN</A><BR>
+<A HREF="manual.html#pdf-LUA_GCINC">LUA_GCINC</A><BR>
+<A HREF="manual.html#pdf-LUA_GCISRUNNING">LUA_GCISRUNNING</A><BR>
+<A HREF="manual.html#pdf-LUA_GCPARAM">LUA_GCPARAM</A><BR>
+<A HREF="manual.html#pdf-LUA_GCPMAJORMINOR">LUA_GCPMAJORMINOR</A><BR>
+<A HREF="manual.html#pdf-LUA_GCPMINORMAJOR">LUA_GCPMINORMAJOR</A><BR>
+<A HREF="manual.html#pdf-LUA_GCPMINORMUL">LUA_GCPMINORMUL</A><BR>
+<A HREF="manual.html#pdf-LUA_GCPPAUSE">LUA_GCPPAUSE</A><BR>
+<A HREF="manual.html#pdf-LUA_GCPSTEPMUL">LUA_GCPSTEPMUL</A><BR>
+<A HREF="manual.html#pdf-LUA_GCPSTEPSIZE">LUA_GCPSTEPSIZE</A><BR>
+<A HREF="manual.html#pdf-LUA_GCRESTART">LUA_GCRESTART</A><BR>
+<A HREF="manual.html#pdf-LUA_GCSTEP">LUA_GCSTEP</A><BR>
+<A HREF="manual.html#pdf-LUA_GCSTOP">LUA_GCSTOP</A><BR>
<A HREF="manual.html#pdf-LUA_HOOKCALL">LUA_HOOKCALL</A><BR>
<A HREF="manual.html#pdf-LUA_HOOKCOUNT">LUA_HOOKCOUNT</A><BR>
<A HREF="manual.html#pdf-LUA_HOOKLINE">LUA_HOOKLINE</A><BR>
@@ -631,6 +637,7 @@
<A HREF="manual.html#pdf-LUA_MININTEGER">LUA_MININTEGER</A><BR>
<A HREF="manual.html#pdf-LUA_MINSTACK">LUA_MINSTACK</A><BR>
<A HREF="manual.html#pdf-LUA_MULTRET">LUA_MULTRET</A><BR>
+<A HREF="manual.html#pdf-LUA_N2SBUFFSZ">LUA_N2SBUFFSZ</A><BR>
<A HREF="manual.html#pdf-LUA_NOREF">LUA_NOREF</A><BR>
<A HREF="manual.html#pdf-LUA_OK">LUA_OK</A><BR>
<A HREF="manual.html#pdf-LUA_OPADD">LUA_OPADD</A><BR>
@@ -667,7 +674,30 @@
<A HREF="manual.html#pdf-LUA_TUSERDATA">LUA_TUSERDATA</A><BR>
<A HREF="manual.html#pdf-LUA_USE_APICHECK">LUA_USE_APICHECK</A><BR>
<A HREF="manual.html#pdf-LUA_YIELD">LUA_YIELD</A><BR>
-<A HREF="manual.html#pdf-LUAL_BUFFERSIZE">LUAL_BUFFERSIZE</A><BR>
+
+<H3><A NAME="library">standard library</A></H3>
+<P>
+<A HREF="manual.html#pdf-LUA_COLIBK">LUA_COLIBK</A><BR>
+<A HREF="manual.html#pdf-LUA_DBLIBK">LUA_DBLIBK</A><BR>
+<A HREF="manual.html#pdf-LUA_GLIBK">LUA_GLIBK</A><BR>
+<A HREF="manual.html#pdf-LUA_IOLIBK">LUA_IOLIBK</A><BR>
+<A HREF="manual.html#pdf-LUA_LOADLIBK">LUA_LOADLIBK</A><BR>
+<A HREF="manual.html#pdf-LUA_MATHLIBK">LUA_MATHLIBK</A><BR>
+<A HREF="manual.html#pdf-LUA_OSLIBK">LUA_OSLIBK</A><BR>
+<A HREF="manual.html#pdf-LUA_STRLIBK">LUA_STRLIBK</A><BR>
+<A HREF="manual.html#pdf-LUA_TABLIBK">LUA_TABLIBK</A><BR>
+<A HREF="manual.html#pdf-LUA_UTF8LIBK">LUA_UTF8LIBK</A><BR>
+
+<P>
+<A HREF="manual.html#pdf-LUA_COLIBNAME">LUA_COLIBNAME</A><BR>
+<A HREF="manual.html#pdf-LUA_DBLIBNAME">LUA_DBLIBNAME</A><BR>
+<A HREF="manual.html#pdf-LUA_IOLIBNAME">LUA_IOLIBNAME</A><BR>
+<A HREF="manual.html#pdf-LUA_LOADLIBNAME">LUA_LOADLIBNAME</A><BR>
+<A HREF="manual.html#pdf-LUA_MATHLIBNAME">LUA_MATHLIBNAME</A><BR>
+<A HREF="manual.html#pdf-LUA_OSLIBNAME">LUA_OSLIBNAME</A><BR>
+<A HREF="manual.html#pdf-LUA_STRLIBNAME">LUA_STRLIBNAME</A><BR>
+<A HREF="manual.html#pdf-LUA_TABLIBNAME">LUA_TABLIBNAME</A><BR>
+<A HREF="manual.html#pdf-LUA_UTF8LIBNAME">LUA_UTF8LIBNAME</A><BR>
</TD>
</TR>
@@ -675,7 +705,7 @@
<P CLASS="footer">
Last update:
-Mon Dec 1 13:57:23 UTC 2025
+Thu Dec 4 17:32:26 UTC 2025
</P>
<!--
Last change: revised for Lua 5.5.0
Binary files lua-5.5.0-rc2/doc/logo.gif and lua-5.5.0-rc3/doc/logo.gif differ
Binary files lua-5.5.0-rc2/doc/logo.png and lua-5.5.0-rc3/doc/logo.png differ
doc/manual.html
@@ -10,7 +10,7 @@
<BODY>
<H1>
-<A HREF="https://www.lua.org/"><IMG SRC="logo.gif" ALT="Lua"></A>
+<A HREF="https://www.lua.org/"><IMG SRC="logo.png" ALT="Lua"></A>
Lua 5.5 Reference Manual
</H1>
@@ -12499,7 +12499,7 @@
<P CLASS="footer">
Last update:
-Mon Dec 1 13:38:36 UTC 2025
+Mon Dec 8 17:34:06 UTC 2025
</P>
<!--
Last change: revised for Lua 5.5.0
doc/readme.html
@@ -29,7 +29,7 @@
<BODY>
<H1>
-<A HREF="https://www.lua.org/"><IMG SRC="logo.gif" ALT="Lua"></A>
+<A HREF="https://www.lua.org/"><IMG SRC="logo.png" ALT="Lua"></A>
Welcome to Lua 5.5
</H1>
@@ -270,7 +270,7 @@
<LI> utf8.offset returns also final position of character
<LI> external strings (that use memory not managed by Lua)
<LI> new functions luaL_openselectedlibs and luaL_makeseed
-<LI> major collections done incrementally
+<LI> major garbage collections done incrementally
<LI> more compact arrays (large arrays use about 60% less memory)
<LI> lua.c loads 'readline' dynamically
<LI> static (fixed) binaries (when loading a binary chunk in memory, Lua can reuse its original memory in some of the internal structures)
@@ -323,7 +323,7 @@
<P CLASS="footer">
Last update:
-Tue Sep 2 21:25:09 UTC 2025
+Mon Dec 8 14:14:37 UTC 2025
</P>
<!--
Last change: revised for Lua 5.5.0
src/lcode.c
@@ -1370,9 +1370,11 @@
fillidxk(t, k->u.info, VINDEXUP); /* literal short string */
}
else if (t->k == VVARGVAR) { /* indexing the vararg parameter? */
- lua_assert(t->u.ind.t == fs->f->numparams);
- t->u.ind.t = cast_byte(t->u.var.ridx);
- fillidxk(t, luaK_exp2anyreg(fs, k), VVARGIND); /* register */
+ int kreg = luaK_exp2anyreg(fs, k); /* put key in some register */
+ lu_byte vreg = cast_byte(t->u.var.ridx); /* register with vararg param. */
+ lua_assert(vreg == fs->f->numparams);
+ t->u.ind.t = vreg; /* (avoid a direct assignment; values may overlap) */
+ fillidxk(t, kreg, VVARGIND); /* 't' represents 'vararg[k]' */
}
else {
/* register index of the table */
src/lparser.c
@@ -505,8 +505,8 @@
init_exp(var, VGLOBAL, -1); /* global by default */
singlevaraux(fs, ls->envn, var, 1); /* get environment variable */
if (var->k == VGLOBAL)
- luaK_semerror(ls, "_ENV is global when accessing variable '%s'",
- getstr(varname));
+ luaK_semerror(ls, "%s is global when accessing variable '%s'",
+ LUA_ENV, getstr(varname));
luaK_exp2anyregup(fs, var); /* _ENV could be a constant */
codestring(&key, varname); /* key is variable name */
luaK_indexed(fs, var, &key); /* 'var' represents _ENV[varname] */