diff -r lua-5.4.7/Makefile lua-5.4.8/Makefile 49c49 < R= $V.7 --- > R= $V.8 diff -r lua-5.4.7/README lua-5.4.8/README 2c2 < This is Lua 5.4.7, released on 13 Jun 2024. --- > This is Lua 5.4.8, released on 21 May 2025. diff -r lua-5.4.7/doc/contents.html lua-5.4.8/doc/contents.html 35c35 < Copyright © 2020–2024 Lua.org, PUC-Rio. --- > Copyright © 2020–2025 Lua.org, PUC-Rio. 671c671 < Thu May 9 14:47:09 UTC 2024 --- > Wed May 21 21:11:33 UTC 2025 674c674 < Last change: revised for Lua 5.4.7 --- > Last change: revised for Lua 5.4.8 diff -r lua-5.4.7/doc/manual.html lua-5.4.8/doc/manual.html 22c22 < Copyright © 2020–2024 Lua.org, PUC-Rio. --- > Copyright © 2020–2025 Lua.org, PUC-Rio. 12053c12053 < Thu Jun 13 22:15:52 UTC 2024 --- > Wed May 21 21:09:59 UTC 2025 12056c12056 < Last change: revised for Lua 5.4.7 --- > Last change: revised for Lua 5.4.8 diff -r lua-5.4.7/doc/readme.html lua-5.4.8/doc/readme.html 112c112 < the top-level directory, which is named lua-5.4.7. --- > the top-level directory, which is named lua-5.4.8. 305c305 < Copyright © 1994–2024 Lua.org, PUC-Rio. --- > Copyright © 1994–2025 Lua.org, PUC-Rio. 332c332 < Wed May 8 21:56:16 UTC 2024 --- > Wed May 21 21:12:01 UTC 2025 335c335 < Last change: revised for Lua 5.4.7 --- > Last change: revised for Lua 5.4.8 diff -r lua-5.4.7/src/lapi.c lua-5.4.8/src/lapi.c 1346c1346 < api_check(L, 0 <= nuvalue && nuvalue < USHRT_MAX, "invalid value"); --- > api_check(L, 0 <= nuvalue && nuvalue < SHRT_MAX, "invalid value"); diff -r lua-5.4.7/src/lcode.c lua-5.4.8/src/lcode.c 37a38 > /* (note that expressions VJMP also have jumps.) */ 988c989 < if (hasjumps(e)) --- > if (e->k == VJMP || hasjumps(e)) diff -r lua-5.4.7/src/ldebug.c lua-5.4.8/src/ldebug.c 39a40,42 > static const char strlocal[] = "local"; > static const char strupval[] = "upvalue"; > 500c503 < return "local"; --- > return strlocal; 515c518 < return "upvalue"; --- > return strupval; 550c553,556 < ** environment '_ENV' --- > ** environment '_ENV'. If the table is an upvalue, get its name; > ** otherwise, find some "name" for the table and check whether > ** that name is the name of a local variable (and not, for instance, > ** a string). Then check that, if there is a name, it is '_ENV'. 557,558c563,567 < else /* 't' is a register */ < basicgetobjname(p, &pc, t, &name); --- > else { /* 't' is a register */ > const char *what = basicgetobjname(p, &pc, t, &name); > if (what != strlocal && what != strupval) > name = NULL; /* cannot be the variable _ENV */ > } 704c713 < return "upvalue"; --- > return strupval; diff -r lua-5.4.7/src/ldo.c lua-5.4.8/src/ldo.c 97,100d96 < case LUA_ERRERR: { < setsvalue2s(L, oldtop, luaS_newliteral(L, "error in error handling")); < break; < } 122a119 > L->status = errcode; 200a198,207 > > /* raise an error while running the message handler */ > l_noret luaD_errerr (lua_State *L) { > TString *msg = luaS_newliteral(L, "error in error handling"); > setsvalue2s(L, L->top.p, msg); > L->top.p++; /* assume EXTRA_STACK */ > luaD_throw(L, LUA_ERRERR); > } > > 250c257 < luaD_throw(L, LUA_ERRERR); /* error inside message handler */ --- > luaD_errerr(L); /* error inside message handler */ diff -r lua-5.4.7/src/ldo.h lua-5.4.8/src/ldo.h 62a63 > LUAI_FUNC l_noret luaD_errerr (lua_State *L); diff -r lua-5.4.7/src/lparser.c lua-5.4.8/src/lparser.c 201c201 < dyd->actvar.size, Vardesc, USHRT_MAX, "local variables"); --- > dyd->actvar.size, Vardesc, SHRT_MAX, "local variables"); 852,853c852 < if (ls->t.token == TK_NAME) { < checklimit(fs, cc->nh, MAX_INT, "items in a constructor"); --- > if (ls->t.token == TK_NAME) 855d853 < } 857a856 > checklimit(fs, cc->nh, MAX_INT, "items in a constructor"); diff -r lua-5.4.7/src/lstate.c lua-5.4.8/src/lstate.c 169c169 < luaD_throw(L, LUA_ERRERR); /* error while handling stack error */ --- > luaD_errerr(L); /* error while handling stack error */ 274a275 > L->errfunc = 0; /* stack unwind can "throw away" the error function */ 275a277 > L->top.p = L->stack.p + 1; /* empty the stack to run finalizers */ 330a333 > L->errfunc = 0; /* stack unwind can "throw away" the error function */ diff -r lua-5.4.7/src/lua.c lua-5.4.8/src/lua.c 493,494c493 < if (lmsg >= marklen && strcmp(msg + lmsg - marklen, EOFMARK) == 0) { < lua_pop(L, 1); --- > if (lmsg >= marklen && strcmp(msg + lmsg - marklen, EOFMARK) == 0) 496d494 < } 511,512d508 < if (readstatus == 0) < return 0; /* no input (prompt will be popped by caller) */ 513a510,511 > if (readstatus == 0) > return 0; /* no input */ 555c553 < return status; /* cannot or should not try to add continuation line */ --- > return status; /* should not or cannot try to add continuation line */ 556a555 > lua_remove(L, -2); /* remove error message (from incomplete line) */ diff -r lua-5.4.7/src/lua.h lua-5.4.8/src/lua.h 21c21 < #define LUA_VERSION_RELEASE "7" --- > #define LUA_VERSION_RELEASE "8" 24c24 < #define LUA_VERSION_RELEASE_NUM (LUA_VERSION_NUM * 100 + 7) --- > #define LUA_VERSION_RELEASE_NUM (LUA_VERSION_NUM * 100 + 8) 28c28 < #define LUA_COPYRIGHT LUA_RELEASE " Copyright (C) 1994-2024 Lua.org, PUC-Rio" --- > #define LUA_COPYRIGHT LUA_RELEASE " Copyright (C) 1994-2025 Lua.org, PUC-Rio" 500c500 < * Copyright (C) 1994-2024 Lua.org, PUC-Rio. --- > * Copyright (C) 1994-2025 Lua.org, PUC-Rio. diff -r lua-5.4.7/src/lvm.c lua-5.4.8/src/lvm.c 341a342,343 > sethvalue2s(L, L->top.p, h); /* anchor 't' */ > L->top.p++; /* assume EXTRA_STACK */ 342a345 > L->top.p--;