Roberto Ierusalimschy
cee1ebe337
File 'bugs' no longer tracked by git
...
The file 'bugs' reports bugs in several different versions
(corresponding to different branches in the repository), without
a clear division of "this bugs belongs to this version". So, it
doesn't make sense to track it along with one (or many) versions.
2019-11-25 11:23:30 -03:00
Roberto Ierusalimschy
73c6ff6593
More generic pattern when testing 'string.format'
...
The result of 'string.format("%a", 0.0)' can have multiple zeros
after the dot.
2019-11-22 11:04:26 -03:00
Roberto Ierusalimschy
89aee84cbc
Fixed bug in 'lua_upvaluejoin'
...
Bug-fix: joining an upvalue with itself could cause a use-after-free
crash.
2019-03-27 14:30:12 -03:00
Roberto Ierusalimschy
f059c2bcc8
File 'bugs' updated to version 5.3.5
2018-12-17 15:43:09 -02:00
Roberto Ierusalimschy
1221e987fe
Bug: Long brackets with a huge number of '=' causes overflow
...
A long bracket with too many equal signs can overflow the 'int' used for
the counting and some arithmetic done on the value. Changing the counter
to 'size_t' avoids that. (Because what is counted goes to a buffer, an
overflow in the counter will first raise a buffer-overflow error.)
2018-12-17 15:36:51 -02:00
Roberto Ierusalimschy
063d4e4543
Lua 5.3.5 ported to git
...
This is the first commit for the branch Lua 5.3. All source files
were copied from the official distribution of 5.3.5 in the Lua site.
The test files are the same of 5.3.4. The manual came from the
previous RCS repository, revision 1.167.1.2.
2018-12-17 14:46:37 -02:00
Roberto Ierusalimschy
e354c6355e
small updates
2017-01-31 19:17:47 -02:00
Roberto Ierusalimschy
94c1b3a8ee
Handling of LUA_PATH/LUA_CPATH moved back to 'package' library
...
to avoid incompatibilites with previous releases
2017-01-12 15:14:26 -02:00
Roberto Ierusalimschy
08199ade4a
release 5.3.4 (year 2017)
2016-12-22 13:51:20 -02:00
Roberto Ierusalimschy
2a235312f0
detail (removing spaces at end of lines)
2016-12-22 11:08:50 -02:00
Roberto Ierusalimschy
9903dd52a3
Using LUAI_UAC* types more consistently on vararg calls
2016-12-20 16:37:00 -02:00
Roberto Ierusalimschy
24f6e236a3
'moveresults' and 'luaD_poscall' moved up in the file
2016-12-13 13:52:21 -02:00
Roberto Ierusalimschy
9f594ca6f5
LUA_PATHSUFFIX -> LUA_VERSUFFIX + LUA_VERSUFFIX used in the
...
definition of LUA_INITVARVERSION, too.
2016-12-13 13:50:58 -02:00
Roberto Ierusalimschy
4df4560bf5
detail (wrong comment)
2016-12-06 12:54:31 -02:00
Roberto Ierusalimschy
b2aa2ba046
using constants for "_LOADED" and "PRELOAD"
2016-12-04 18:17:24 -02:00
Roberto Ierusalimschy
beec5af201
'luaL_tolstring' uses metatable's "__name" when available
2016-12-04 18:09:45 -02:00
Roberto Ierusalimschy
7b1fba69b7
using 'lastfree == NULL' to signal that table is using the dummy
...
node for its hash part + new macro 'allocsizenode'
2016-11-07 10:38:35 -02:00
Roberto Ierusalimschy
697593d8d5
bug: When a coroutine tries to resume a non-suspended coroutine,
...
it can do some mess (and break C assertions) before detecting the error.
2016-10-19 10:34:27 -02:00
Roberto Ierusalimschy
e2dc807c6e
check whether function is finalizer when finding a name for it +
...
comments + some instructions can call functions in unespected ways
(e.g., finalizers)
2016-10-19 10:32:10 -02:00
Roberto Ierusalimschy
138d00176c
new flag in 'CallInfo.callstatus' to tell whether function is running
...
as a finalizer
2016-10-19 10:31:42 -02:00
Roberto Ierusalimschy
8edbf57fb8
detail (ANSI C does not accept empty arguments to macros)
2016-09-20 13:37:45 -03:00
Roberto Ierusalimschy
7fe1a4cff3
cleaner and more correct code for 'luaD_shrinkstack' (the old
...
test "inuse <= LUAI_MAXSTACK" for stack overflow is not correct,
as the real maximum usable size is "LUAI_MAXSTACK - EXTRA_STACK")
2016-09-08 13:36:26 -03:00
Roberto Ierusalimschy
dbb6f11e8e
bug (with compat on): 'ipairs' can work with any type that provides
...
an __index; so, 'pairsmeta' should not check for tables. ('pairs'
already checks for tables through 'next'.)
2016-09-05 16:06:34 -03:00
Roberto Ierusalimschy
aeb4c6fff1
comments + removed unused variable
2016-09-05 15:53:02 -03:00
Roberto Ierusalimschy
3b91b07fd9
detail (macro 'l_checkmode' reimplemented as function)
2016-09-01 13:14:56 -03:00
Roberto Ierusalimschy
349badabc1
wrong test in '#if' for floating-point type
2016-08-22 14:21:12 -03:00
Roberto Ierusalimschy
e4a9e6fcca
do not eliminate varargs from functions that do not use varargs
...
(confuses the debug lib and gains very little in performance)
2016-08-01 16:51:24 -03:00
Roberto Ierusalimschy
9de2bb0d62
bug: When a coroutine tries to resume a non-suspended coroutine,
...
it coud do some mess (and break C assertions) before detecting the error.
Now it tests for those errors before anything else.
2016-07-29 14:12:44 -03:00
Roberto Ierusalimschy
d55fd3455b
redefine MAXINDEXRK (for debugging, to force most values to
...
go through registers)
2016-07-19 14:13:00 -03:00
Roberto Ierusalimschy
0d1c6f4188
MAXINDEXRK can be redefined (for debugging, to force most values to
...
go through registers)
2016-07-19 14:12:21 -03:00
Roberto Ierusalimschy
fc6b32bcaa
bug: Lua can generate wrong code in functions with too many constants
2016-07-19 14:12:07 -03:00
Roberto Ierusalimschy
de96e26afc
bug: 'checkoption' could read past end of string + 'os.date' can
...
handle embedded zeros
2016-07-18 14:58:58 -03:00
Roberto Ierusalimschy
de3fd8ab83
Handling of LUA_PATH/LUA_CPATH moved from package library to stand
...
alone interpreter (so that 'lua.c' concentrates all handling of
environment variables)
2016-07-18 14:55:59 -03:00
Roberto Ierusalimschy
788109a3de
new bug: Checking a format for 'os.date' may read pass the format string
2016-07-15 14:24:09 -03:00
Roberto Ierusalimschy
09c9fa36ea
small corrections for C++ compliance
2016-06-27 10:15:08 -03:00
Roberto Ierusalimschy
dcb2998aa6
bug: expression list with four or more expressions in
...
a 'for' loop can crash the interpreter. ('adjust_assign' must
remove extra expresssions from its registers.)
2016-06-22 12:48:25 -03:00
Roberto Ierusalimschy
fac00ca023
bug: expression list with four or more expressions in
...
a 'for' loop can crash the interpreter.
2016-06-21 14:22:34 -03:00
Roberto Ierusalimschy
6487fb11fc
all 'static' variables should be 'const'
2016-06-20 16:12:46 -03:00
Roberto Ierusalimschy
644799537f
allow more bits in 'callstatus' (use no extra space due to alignments)
2016-06-16 10:36:09 -03:00
Roberto Ierusalimschy
aa66ca76ce
'lua_pushglobaltable' returns 'void'
2016-05-30 12:53:28 -03:00
Roberto Ierusalimschy
707b0ba6e2
'string.format("%q")' writes 'math.mininteger' in hexa, to ensure
...
it is read back as an integer
2016-05-20 11:13:21 -03:00
Roberto Ierusalimschy
10b0b09555
do not convert decimal constants with overflow to integers.
...
(Therefore, they will be converted as floats)
2016-05-20 11:07:48 -03:00
Roberto Ierusalimschy
4d5ab9baa6
'string.pack("cn")' does not accept strings longer than 'n'
2016-05-18 15:19:51 -03:00
Roberto Ierusalimschy
b65252b39b
'singlevaraux' returns result only in 'var->k'
2016-05-13 16:10:16 -03:00
Roberto Ierusalimschy
fbd8614bdb
comment (FALLTHROUGH)
2016-05-13 16:09:46 -03:00
Roberto Ierusalimschy
f3b52a6061
'io.read("n")' accepts both a dot and the locale point as its
...
radix character + 'MAXRN' -> 'L_MAXLENNUM' + small detail in
'test2'
2016-05-02 11:03:19 -03:00
Roberto Ierusalimschy
0232fbffbe
now that 'luaO_str2num' always accepts a dot as a radix character,
...
the lexer does not need to bother with this issue.
2016-05-02 11:02:12 -03:00
Roberto Ierusalimschy
ed110f66c5
'luaO_str2num' (and, therefore, 'lua_stringtonumber', 'number',
...
and coercions) accepts both the locale point and a dot as its
radix character
2016-05-02 11:00:32 -03:00
Roberto Ierusalimschy
22093f9c6e
'string.format("%q", number)' ensures a dot as decimal point
2016-05-02 10:58:01 -03:00
Roberto Ierusalimschy
792ffaccf2
detail (macro should "use" all its arguments)
2016-05-01 17:06:09 -03:00