aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--lua.h8
-rw-r--r--manual/manual.of123
-rw-r--r--testes/all.lua2
-rw-r--r--testes/calls.lua2
-rw-r--r--testes/main.lua6
5 files changed, 12 insertions, 129 deletions
diff --git a/lua.h b/lua.h
index feb3dbc5..cb32ec22 100644
--- a/lua.h
+++ b/lua.h
@@ -17,11 +17,11 @@
17 17
18 18
19#define LUA_VERSION_MAJOR "5" 19#define LUA_VERSION_MAJOR "5"
20#define LUA_VERSION_MINOR "4" 20#define LUA_VERSION_MINOR "5"
21#define LUA_VERSION_RELEASE "5" 21#define LUA_VERSION_RELEASE "0"
22 22
23#define LUA_VERSION_NUM 504 23#define LUA_VERSION_NUM 505
24#define LUA_VERSION_RELEASE_NUM (LUA_VERSION_NUM * 100 + 5) 24#define LUA_VERSION_RELEASE_NUM (LUA_VERSION_NUM * 100 + 0)
25 25
26#define LUA_VERSION "Lua " LUA_VERSION_MAJOR "." LUA_VERSION_MINOR 26#define LUA_VERSION "Lua " LUA_VERSION_MAJOR "." LUA_VERSION_MINOR
27#define LUA_RELEASE LUA_VERSION "." LUA_VERSION_RELEASE 27#define LUA_RELEASE LUA_VERSION "." LUA_VERSION_RELEASE
diff --git a/manual/manual.of b/manual/manual.of
index 6d19e251..416622c1 100644
--- a/manual/manual.of
+++ b/manual/manual.of
@@ -1586,7 +1586,8 @@ Each variable name may be postfixed by an attribute
1586@producname{attrib}@producbody{@bnfopt{@bnfter{<} @bnfNter{Name} @bnfter{>}}} 1586@producname{attrib}@producbody{@bnfopt{@bnfter{<} @bnfNter{Name} @bnfter{>}}}
1587} 1587}
1588There are two possible attributes: 1588There are two possible attributes:
1589@id{const}, which declares a @x{constant variable}, 1589@id{const}, which declares a @emph{constant} or @emph{read-only} variable,
1590@index{constant variable}
1590that is, a variable that cannot be assigned to 1591that is, a variable that cannot be assigned to
1591after its initialization; 1592after its initialization;
1592and @id{close}, which declares a to-be-closed variable @see{to-be-closed}. 1593and @id{close}, which declares a to-be-closed variable @see{to-be-closed}.
@@ -9118,7 +9119,7 @@ is a more portable solution.
9118@simplesect{ 9119@simplesect{
9119 9120
9120Here we list the incompatibilities that you may find when moving a program 9121Here we list the incompatibilities that you may find when moving a program
9121from @N{Lua 5.3} to @N{Lua 5.4}. 9122from @N{Lua 5.4} to @N{Lua 5.5}.
9122 9123
9123You can avoid some incompatibilities by compiling Lua with 9124You can avoid some incompatibilities by compiling Lua with
9124appropriate options (see file @id{luaconf.h}). 9125appropriate options (see file @id{luaconf.h}).
@@ -9155,51 +9156,6 @@ change between versions.
9155@itemize{ 9156@itemize{
9156 9157
9157@item{ 9158@item{
9158The coercion of strings to numbers in
9159arithmetic and bitwise operations
9160has been removed from the core language.
9161The string library does a similar job
9162for arithmetic (but not for bitwise) operations
9163using the string metamethods.
9164However, unlike in previous versions,
9165the new implementation preserves the implicit type of the numeral
9166in the string.
9167For instance, the result of @T{"1" + "2"} now is an integer,
9168not a float.
9169}
9170
9171@item{
9172Literal decimal integer constants that overflow are read as floats,
9173instead of wrapping around.
9174You can use hexadecimal notation for such constants if you
9175want the old behavior
9176(reading them as integers with wrap around).
9177}
9178
9179@item{
9180The use of the @idx{__lt} metamethod to emulate @idx{__le}
9181has been removed.
9182When needed, this metamethod must be explicitly defined.
9183}
9184
9185@item{
9186The semantics of the numerical @Rw{for} loop
9187over integers changed in some details.
9188In particular, the control variable never wraps around.
9189}
9190
9191@item{
9192A label for a @Rw{goto} cannot be declared where a label with the same
9193name is visible, even if this other label is declared in an enclosing
9194block.
9195}
9196
9197@item{
9198When finalizing an object,
9199Lua does not ignore @idx{__gc} metamethods that are not functions.
9200Any value will be called, if present.
9201(Non-callable values will generate a warning,
9202like any other error when calling a finalizer.)
9203} 9159}
9204 9160
9205} 9161}
@@ -9210,39 +9166,6 @@ like any other error when calling a finalizer.)
9210@itemize{ 9166@itemize{
9211 9167
9212@item{ 9168@item{
9213The function @Lid{print} does not call @Lid{tostring}
9214to format its arguments;
9215instead, it has this functionality hardwired.
9216You should use @idx{__tostring} to modify how values are printed.
9217}
9218
9219@item{
9220The pseudo-random number generator used by the function @Lid{math.random}
9221now starts with a somewhat random seed.
9222Moreover, it uses a different algorithm.
9223}
9224
9225@item{
9226By default, the decoding functions in the @Lid{utf8} library
9227do not accept surrogates as valid code points.
9228An extra parameter in these functions makes them more permissive.
9229}
9230
9231@item{
9232The options @St{setpause} and @St{setstepmul}
9233of the function @Lid{collectgarbage} are deprecated.
9234You should use the new option @St{incremental} to set them.
9235}
9236
9237@item{
9238The function @Lid{io.lines} now returns four values,
9239instead of just one.
9240That can be a problem when it is used as the sole
9241argument to another function that has optional parameters,
9242such as in @T{load(io.lines(filename, "L"))}.
9243To fix that issue,
9244you can wrap the call into parentheses,
9245to adjust its number of results to one.
9246} 9169}
9247 9170
9248} 9171}
@@ -9254,46 +9177,6 @@ to adjust its number of results to one.
9254@itemize{ 9177@itemize{
9255 9178
9256@item{ 9179@item{
9257Full userdata now has an arbitrary number of associated user values.
9258Therefore, the functions @id{lua_newuserdata},
9259@id{lua_setuservalue}, and @id{lua_getuservalue} were
9260replaced by @Lid{lua_newuserdatauv},
9261@Lid{lua_setiuservalue}, and @Lid{lua_getiuservalue},
9262which have an extra argument.
9263
9264For compatibility, the old names still work as macros assuming
9265one single user value.
9266Note, however, that userdata with zero user values
9267are more efficient memory-wise.
9268}
9269
9270@item{
9271The function @Lid{lua_resume} has an extra parameter.
9272This out parameter returns the number of values on
9273the top of the stack that were yielded or returned by the coroutine.
9274(In previous versions,
9275those values were the entire stack.)
9276}
9277
9278@item{
9279The function @Lid{lua_version} returns the version number,
9280instead of an address of the version number.
9281The Lua core should work correctly with libraries using their
9282own static copies of the same core,
9283so there is no need to check whether they are using the same
9284address space.
9285}
9286
9287@item{
9288The constant @id{LUA_ERRGCMM} was removed.
9289Errors in finalizers are never propagated;
9290instead, they generate a warning.
9291}
9292
9293@item{
9294The options @idx{LUA_GCSETPAUSE} and @idx{LUA_GCSETSTEPMUL}
9295of the function @Lid{lua_gc} are deprecated.
9296You should use the new option @id{LUA_GCINC} to set them.
9297} 9180}
9298 9181
9299} 9182}
diff --git a/testes/all.lua b/testes/all.lua
index a8e44024..279694ae 100644
--- a/testes/all.lua
+++ b/testes/all.lua
@@ -3,7 +3,7 @@
3-- See Copyright Notice at the end of this file 3-- See Copyright Notice at the end of this file
4 4
5 5
6local version = "Lua 5.4" 6local version = "Lua 5.5"
7if _VERSION ~= version then 7if _VERSION ~= version then
8 io.stderr:write("This test suite is for ", version, 8 io.stderr:write("This test suite is for ", version,
9 ", not for ", _VERSION, "\nExiting tests") 9 ", not for ", _VERSION, "\nExiting tests")
diff --git a/testes/calls.lua b/testes/calls.lua
index cd2696e8..ea384224 100644
--- a/testes/calls.lua
+++ b/testes/calls.lua
@@ -448,7 +448,7 @@ print("testing binary chunks")
448do 448do
449 local header = string.pack("c4BBc6BBB", 449 local header = string.pack("c4BBc6BBB",
450 "\27Lua", -- signature 450 "\27Lua", -- signature
451 0x54, -- version 5.4 (0x54) 451 0x55, -- version 5.5 (0x55)
452 0, -- format 452 0, -- format
453 "\x19\x93\r\n\x1a\n", -- data 453 "\x19\x93\r\n\x1a\n", -- data
454 4, -- size of instruction 454 4, -- size of instruction
diff --git a/testes/main.lua b/testes/main.lua
index 9187420e..9c8be580 100644
--- a/testes/main.lua
+++ b/testes/main.lua
@@ -134,7 +134,7 @@ RUN('env LUA_INIT= LUA_PATH=x lua %s > %s', prog, out)
134checkout("x\n") 134checkout("x\n")
135 135
136-- test LUA_PATH_version 136-- test LUA_PATH_version
137RUN('env LUA_INIT= LUA_PATH_5_4=y LUA_PATH=x lua %s > %s', prog, out) 137RUN('env LUA_INIT= LUA_PATH_5_5=y LUA_PATH=x lua %s > %s', prog, out)
138checkout("y\n") 138checkout("y\n")
139 139
140-- test LUA_CPATH 140-- test LUA_CPATH
@@ -143,7 +143,7 @@ RUN('env LUA_INIT= LUA_CPATH=xuxu lua %s > %s', prog, out)
143checkout("xuxu\n") 143checkout("xuxu\n")
144 144
145-- test LUA_CPATH_version 145-- test LUA_CPATH_version
146RUN('env LUA_INIT= LUA_CPATH_5_4=yacc LUA_CPATH=x lua %s > %s', prog, out) 146RUN('env LUA_INIT= LUA_CPATH_5_5=yacc LUA_CPATH=x lua %s > %s', prog, out)
147checkout("yacc\n") 147checkout("yacc\n")
148 148
149-- test LUA_INIT (and its access to 'arg' table) 149-- test LUA_INIT (and its access to 'arg' table)
@@ -153,7 +153,7 @@ checkout("3.2\n")
153 153
154-- test LUA_INIT_version 154-- test LUA_INIT_version
155prepfile("print(X)") 155prepfile("print(X)")
156RUN('env LUA_INIT_5_4="X=10" LUA_INIT="X=3" lua %s > %s', prog, out) 156RUN('env LUA_INIT_5_5="X=10" LUA_INIT="X=3" lua %s > %s', prog, out)
157checkout("10\n") 157checkout("10\n")
158 158
159-- test LUA_INIT for files 159-- test LUA_INIT for files