Feature #1809 ยป 0044-lua-5.5-Update-to-lua-5.5.0-rc3.patch
| 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] */
|
||