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 © 2015–2018 Lua.org, PUC-Rio.
> Copyright © 2015–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 © 2015–2018 Lua.org, PUC-Rio.
> Copyright © 2015–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 © 1994–2017 Lua.org, PUC-Rio.
> Copyright © 1994–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);