Lua diffs-lua-5.3.5-lua-5.3.6


Makefile

49c49
< R= $V.4
> R= $V.6

README

2c2
< This is Lua 5.3.5, released on 26 Jun 2018.
> This is Lua 5.3.6, released on 14 Sep 2020.

doc/contents.html

35c35
< Copyright &copy; 2015&ndash;2018 Lua.org, PUC-Rio.
> Copyright &copy; 2015&ndash;2020 Lua.org, PUC-Rio.

320a321,351
> <H3><A NAME="metamethods">metamethods</A></H3>
> <P>
> <A HREF="manual.html#2.4">__add</A><BR>
> <A HREF="manual.html#2.4">__band</A><BR>
> <A HREF="manual.html#2.4">__bnot</A><BR>
> <A HREF="manual.html#2.4">__bor</A><BR>
> <A HREF="manual.html#2.4">__bxor</A><BR>
> <A HREF="manual.html#2.4">__call</A><BR>
> <A HREF="manual.html#2.4">__concat</A><BR>
> <A HREF="manual.html#2.4">__div</A><BR>
> <A HREF="manual.html#2.4">__eq</A><BR>
> <A HREF="manual.html#2.5.1">__gc</A><BR>
> <A HREF="manual.html#2.4">__idiv</A><BR>
> <A HREF="manual.html#2.4">__index</A><BR>
> <A HREF="manual.html#2.4">__le</A><BR>
> <A HREF="manual.html#2.4">__len</A><BR>
> <A HREF="manual.html#2.4">__lt</A><BR>
> <A HREF="manual.html#pdf-getmetatable">__metatable</A><BR>
> <A HREF="manual.html#2.4">__mod</A><BR>
> <A HREF="manual.html#2.5.2">__mode</A><BR>
> <A HREF="manual.html#2.4">__mul</A><BR>
> <A HREF="manual.html#luaL_newmetatable">__name</A><BR>
> <A HREF="manual.html#2.4">__newindex</A><BR>
> <A HREF="manual.html#pdf-pairs">__pairs</A><BR>
> <A HREF="manual.html#2.4">__pow</A><BR>
> <A HREF="manual.html#2.4">__shl</A><BR>
> <A HREF="manual.html#2.4">__shr</A><BR>
> <A HREF="manual.html#2.4">__sub</A><BR>
> <A HREF="manual.html#pdf-tostring">__tostring</A><BR>
> <A HREF="manual.html#2.4">__unm</A><BR>
> 

612c643
< Mon Jun 18 22:56:06 -03 2018
> Tue Aug 25 13:45:14 UTC 2020

615c646
< Last change: revised for Lua 5.3.5
> Last change: revised for Lua 5.3.6

doc/manual.html

22c22
< Copyright &copy; 2015&ndash;2018 Lua.org, PUC-Rio.
> Copyright &copy; 2015&ndash;2020 Lua.org, PUC-Rio.

10975c10975
< Tue Jun 26 13:16:37 -03 2018
> Tue Jul 14 10:32:39 UTC 2020

10978c10978
< Last change: revised for Lua 5.3.5
> Last change: revised for Lua 5.3.6

doc/readme.html

110c110
< the top-level directory, which is named <TT>lua-5.3.5</TT>.
> the top-level directory, which is named <TT>lua-5.3.6</TT>.

331c331
< Copyright &copy; 1994&ndash;2017 Lua.org, PUC-Rio.
> Copyright &copy; 1994&ndash;2020 Lua.org, PUC-Rio.

358c358
< Mon Jun 18 22:57:33 -03 2018
> Tue Jul 14 10:33:01 UTC 2020

361c361
< Last change: revised for Lua 5.3.5
> Last change: revised for Lua 5.3.6

src/Makefile

105c105
< 	$(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX -DLUA_USE_READLINE -I/usr/include/edit" SYSLIBS="-Wl,-E -ledit" CC="cc"
> 	$(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX -I/usr/include/edit" SYSLIBS="-Wl,-E -ledit" CC="cc"

src/lapi.c

1257c1257
< static UpVal **getupvalref (lua_State *L, int fidx, int n, LClosure **pf) {
> static UpVal **getupvalref (lua_State *L, int fidx, int n) {

1263d1262
<   if (pf) *pf = f;

1272c1271
<       return *getupvalref(L, fidx, n, NULL);
>       return *getupvalref(L, fidx, n);

1289,1291c1288,1291
<   LClosure *f1;
<   UpVal **up1 = getupvalref(L, fidx1, n1, &f1);
<   UpVal **up2 = getupvalref(L, fidx2, n2, NULL);
>   UpVal **up1 = getupvalref(L, fidx1, n1);
>   UpVal **up2 = getupvalref(L, fidx2, n2);
>   if (*up1 == *up2)
>     return;

src/lauxlib.c

1014,1015c1014,1020
<   else
<     return realloc(ptr, nsize);
>   else {  /* cannot fail when shrinking a block */
>     void *newptr = realloc(ptr, nsize);
>     if (newptr == NULL && ptr != NULL && nsize <= osize)
>       return ptr;  /* keep the original block */
>     else  /* no fail or not shrinking */
>      return newptr;  /* use the new block */
>   }

src/lcode.c

1064c1064
< ** Aplly prefix operation 'op' to expression 'e'.
> ** Apply prefix operation 'op' to expression 'e'.

src/ldebug.c

136c136,137
<   if (n >= cast_int(ci->u.l.base - ci->func) - nparams)
>   int nvararg = cast_int(ci->u.l.base - ci->func) - nparams;
>   if (n <= -nvararg)

139c140
<     *pos = ci->func + nparams + n;
>     *pos = ci->func + nparams - n;

151c152
<       return findvararg(ci, -n, pos);
>       return findvararg(ci, n, pos);

src/liolib.c

279a280,281
>   luaL_argcheck(L, ((mode[0] == 'r' || mode[0] == 'w') && mode[1] == '\0'),
>                    2, "invalid mode");

src/llex.c

247,249c247,249
< ** skip a sequence '[=*[' or ']=*]'; if sequence is well formed, return
< ** its number of '='s; otherwise, return a negative number (-1 iff there
< ** are no '='s after initial bracket)
> ** reads a sequence '[=*[' or ']=*]', leaving the last bracket.
> ** If sequence is well formed, return its number of '='s + 2; otherwise,
> ** return 1 if there is no '='s or 0 otherwise (an unfinished '[==...').

251,252c251,252
< static int skip_sep (LexState *ls) {
<   int count = 0;
> static size_t skip_sep (LexState *ls) {
>   size_t count = 0;

260c260,263
<   return (ls->current == s) ? count : (-count) - 1;
>   return (ls->current == s) ? count + 2
>          : (count == 0) ? 1
>          : 0;
> 

264c267
< static void read_long_string (LexState *ls, SemInfo *seminfo, int sep) {
> static void read_long_string (LexState *ls, SemInfo *seminfo, size_t sep) {

298,299c301,302
<     seminfo->ts = luaX_newstring(ls, luaZ_buffer(ls->buff) + (2 + sep),
<                                      luaZ_bufflen(ls->buff) - 2*(2 + sep));
>     seminfo->ts = luaX_newstring(ls, luaZ_buffer(ls->buff) + sep,
>                                      luaZ_bufflen(ls->buff) - 2 * sep);

447c450
<           int sep = skip_sep(ls);
>           size_t sep = skip_sep(ls);

449c452
<           if (sep >= 0) {
>           if (sep >= 2) {

461,462c464,465
<         int sep = skip_sep(ls);
<         if (sep >= 0) {
>         size_t sep = skip_sep(ls);
>         if (sep >= 2) {

466c469
<         else if (sep != -1)  /* '[=...' missing second bracket */
>         else if (sep == 0)  /* '[=...' missing second bracket */

src/lobject.c

269c269
< ** mark. If the convertion fails, it may mean number has a dot but
> ** mark. If the conversion fails, it may mean number has a dot but

src/lparser.c

546a547
>   luaC_objbarrier(ls->L, f, f->source);

1618a1620
>   luaC_objbarrier(ls->L, fs->f, ls->envn);

1636a1639
>   luaC_objbarrier(L, cl, cl->p);

src/lua.h

2d1
< ** $Id: lua.h,v 1.332.1.2 2018/06/13 16:58:17 roberto Exp $

22c21
< #define LUA_VERSION_RELEASE	"5"
> #define LUA_VERSION_RELEASE	"6"

26c25
< #define LUA_COPYRIGHT	LUA_RELEASE "  Copyright (C) 1994-2018 Lua.org, PUC-Rio"
> #define LUA_COPYRIGHT	LUA_RELEASE "  Copyright (C) 1994-2020 Lua.org, PUC-Rio"

463c462
< * Copyright (C) 1994-2018 Lua.org, PUC-Rio.
> * Copyright (C) 1994-2020 Lua.org, PUC-Rio.

src/lundump.c

88c88,89
< static TString *LoadString (LoadState *S) {
> static TString *LoadString (LoadState *S, Proto *p) {
>   lua_State *L = S->L;

89a91
>   TString *ts;

97c99
<     return luaS_newlstr(S->L, buff, size);
>     ts = luaS_newlstr(L, buff, size);

100c102,104
<     TString *ts = luaS_createlngstrobj(S->L, size);
>     ts = luaS_createlngstrobj(L, size);
>     setsvalue2s(L, L->top, ts);  /* anchor it ('loadVector' can GC) */
>     luaD_inctop(L);

102c106
<     return ts;
>     L->top--;  /* pop string */

103a108,109
>   luaC_objbarrier(L, p, ts);
>   return ts;

143c149
<       setsvalue2n(S->L, o, LoadString(S));
>       setsvalue2n(S->L, o, LoadString(S, f));

160a167
>     luaC_objbarrier(S->L, f, f->p[i]);

192c199
<     f->locvars[i].varname = LoadString(S);
>     f->locvars[i].varname = LoadString(S, f);

198c205
<     f->upvalues[i].name = LoadString(S);
>     f->upvalues[i].name = LoadString(S, f);

203c210
<   f->source = LoadString(S);
>   f->source = LoadString(S, f);

273a281
>   luaC_objbarrier(L, cl, cl->p);