Lua diffs-lua-5.4.7-lua-5.4.8


Makefile

49c49
< R= $V.7
> R= $V.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.

doc/contents.html

35c35
< Copyright &copy; 2020&ndash;2024 Lua.org, PUC-Rio.
> Copyright &copy; 2020&ndash;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

doc/manual.html

22c22
< Copyright &copy; 2020&ndash;2024 Lua.org, PUC-Rio.
> Copyright &copy; 2020&ndash;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

doc/readme.html

112c112
< the top-level directory, which is named <TT>lua-5.4.7</TT>.
> the top-level directory, which is named <TT>lua-5.4.8</TT>.

305c305
< Copyright &copy; 1994&ndash;2024 Lua.org, PUC-Rio.
> Copyright &copy; 1994&ndash;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

src/lapi.c

1346c1346
<   api_check(L, 0 <= nuvalue && nuvalue < USHRT_MAX, "invalid value");
>   api_check(L, 0 <= nuvalue && nuvalue < SHRT_MAX, "invalid value");

src/lcode.c

37a38
> /* (note that expressions VJMP also have jumps.) */

988c989
<   if (hasjumps(e))
>   if (e->k == VJMP || hasjumps(e))

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;

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 */

src/ldo.h

62a63
> LUAI_FUNC l_noret luaD_errerr (lua_State *L);

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");

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 */

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) */

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.

src/lvm.c

341a342,343
>         sethvalue2s(L, L->top.p, h);  /* anchor 't' */
>         L->top.p++;  /* assume EXTRA_STACK */

342a345
>         L->top.p--;