Project

General

Profile

Feature #1809 ยป 0044-lua-5.5-Update-to-lua-5.5.0-rc3.patch

Marko Lindqvist, 12/12/2025 06:22 AM

View differences:

dependencies/lua-5.5/Makefile.am
EXTRA_DIST = Version.txt \
freeciv_lua.patch \
doc/readme.html \
doc/logo.gif \
doc/logo.png \
doc/OSIApproved_100X125.png
dependencies/lua-5.5/README
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.
dependencies/lua-5.5/Version.txt
Sources here are from lua-5.5.0-rc2
(http://www.lua.org/ftp/lua-5.5.0-rc2.tar.gz)
Sources here are from lua-5.5.0-rc3
(http://www.lua.org/ftp/lua-5.5.0-rc3.tar.gz)
Upstream bug fixes from https://www.lua.org/bugs.html applied:
dependencies/lua-5.5/doc/readme.html
<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>
......
<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)
......
<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
dependencies/lua-5.5/src/lcode.c
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 */
dependencies/lua-5.5/src/lparser.c
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] */
    (1-1/1)