aboutsummaryrefslogtreecommitdiff
path: root/testes (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Bug: Missing error status in panic functionv5.4Roberto Ierusalimschy2025-01-161-0/+4
| | | | | 'luaD_throw' may call 'luaE_resetthread', which returns an error code but clears 'L->status'; so, 'luaD_throw' should set that status again.
* Bug: wrong code gen. for indices with comparisonsRoberto Ierusalimschy2024-08-171-0/+8
| | | | | | | In function 'luaK_exp2val', used to generate code for indices: Macro 'hasjumps' does not consider the case when the whole expression is a "jump" (a test). In all other of its uses, the surrounding code ensures that the expression cannot be VJMP.
* Bug: Bad stack manipulation in 'multiline' (REPL)Roberto Ierusalimschy2024-07-051-0/+5
| | | | | | 'incomplete' was popping error message that should be used in case there is no more lines to complete the input, that is, 'pushline' returns NULL, due to end of file.
* Bug: luaL_traceback may need more than 5 stack slotsRoberto Ierusalimschy2024-06-041-1/+14
|
* Bug: Active-lines for stripped vararg functionsRoberto Ierusalimschy2024-05-131-0/+9
| | | | | Lua seg. faults when asked to create the 'activelines' table for a vararg function with no debug information.
* Towards release 5.4.7Roberto Ierusalimschy2024-04-261-1/+2
|
* Bug: Yielding in a hook stops in the wrong instructionRoberto Ierusalimschy2024-01-111-3/+5
| | | | | | | | Yielding in a hook must decrease the program counter, because it already counted an instruction that, in the end, was not executed. However, that decrement should be done only when about to restart the thread. Otherwise, inspecting the thread with the debug library shows it one instruction behind of where it really is.
* Bug: Recursion in 'getobjname' can stack overflowRoberto Ierusalimschy2023-11-011-0/+3
| | | | | | 'getobjname' now broken in two, a basic version that handles locals, upvalues, and constants, and a full version, which uses the basic version to handle table accesses (globals and fields).
* Removed test for "corrupted binary dump"Roberto Ierusalimschy2023-09-081-14/+0
| | | | | Test is too non portable. (For instance, it does not work for different number types.)
* Bug: Wrong line number for function callsRoberto Ierusalimschy2023-08-231-4/+4
|
* More control over encoding of test filesRoberto Ierusalimschy2023-08-176-28/+49
| | | | | The few UTF-8 test files are commented as such, and there is only one non UTF-8 test file (to test non UTF-8 sources).
* DetailsRoberto Ierusalimschy2023-07-031-1/+1
|
* Option '-l' discards version sufix from file nameRoberto Ierusalimschy2023-05-151-0/+7
| | | | | | Like 'require', the command-line option '-l' discards an optional version suffix (everything after an hyphen) from a file name when creating the module name.
* Small improvements in testsRoberto Ierusalimschy2023-05-152-21/+24
|
* Bug: Loading a corrupted binary file can segfaultRoberto Ierusalimschy2023-03-171-0/+14
| | | | | The size of the list of upvalue names are stored separated from the size of the list of upvalues, but they share the same array.
* Bug: Wrong line in error message for arith. errorsRoberto Ierusalimschy2023-02-081-0/+8
| | | | | It also causes 'L->top' to be wrong when the error happens, triggering an 'assert'.
* Avoid excessive name pollution in test filesRoberto Ierusalimschy2022-12-2826-261/+335
| | | | | Test files are more polite regarding the use of globals when locals would do, and when globals are necessary deleting them after use.
* Detail in make file for testes/libsRoberto Ierusalimschy2022-12-231-5/+5
| | | | Everything depends on the Lua version (as given by 'lua.h')
* Bug: stack overflow with nesting of coroutine.closeRoberto Ierusalimschy2022-10-251-0/+26
|
* Portability issue in a test for 'string.format'Roberto Ierusalimschy2022-10-191-2/+7
|
* Negation in constant folding of '>>' may overflowRoberto Ierusalimschy2022-09-231-0/+12
|
* Small simplification in overflow check in 'getfield'Roberto Ierusalimschy2022-09-231-0/+9
| | | | | Subtracting a small non-negative int from a non-negative int cannot overflow, and adding a non-negative int to INT_MIN cannot overflow.
* Bug: 'utf8.codes' accepts spurious continuation bytesRoberto Ierusalimschy2022-09-231-1/+11
|
* New test for table rehashRoberto Ierusalimschy2022-09-161-9/+29
|
* Bug: 'break' may not properly close variable in a 'for' loopRoberto Ierusalimschy2022-08-241-0/+20
| | | | | | | Function 'leaveblock' was generating "break" label before removing variables from the closing block. If 'createlabel' created a 'close' instruction (which it did when matching a goto/break that exited the scope of an upvalue), that instruction would use the wrong level.
* Simpler handling of Byte Order Mark (BOM)Roberto Ierusalimschy2022-08-231-5/+30
|
* More checks and documentation for uses of EXTRA_STACKRoberto Ierusalimschy2022-05-261-0/+10
|
* Bug: 'lua_settop' may use an invalid pointer to stackRoberto Ierusalimschy2022-05-251-0/+22
|
* 'lua_checkstack' doesn't need to check stack overflowRoberto Ierusalimschy2022-05-231-9/+6
| | | | | | 'luaD_growstack' already checks that. This commit also fixes an internal bug in 'luaD_growstack': a large 'n' could cause an arithmetic overflow when computing 'needed'.
* Bug: Wrong code generation in bitwise operationsRoberto Ierusalimschy2022-04-251-0/+25
|
* Bug: Lua can generate wrong code when _ENV is <const>Roberto Ierusalimschy2022-02-151-0/+10
|
* Bug: finalizer calling exit can corrupt finalization orderRoberto Ierusalimschy2021-12-221-0/+28
| | | | | 'os.exit' can call lua_close again, separating new finalizers created after all previous finalizers were already separated.
* Fix debug information about finalizersRoberto Ierusalimschy2021-12-142-2/+2
| | | | | | The flag CIST_FIN does not mark a finalizer, but the function that was running when the finalizer was called. (So, the function did not call the finalizer, but it looks that way in the stack.)
* Bug: GC is not reentrantRoberto Ierusalimschy2021-12-132-5/+6
| | | | As the GC is not reentrant, finalizers should not be able to invoke it.
* Wrong assert in 'collectvalidlines'Roberto Ierusalimschy2021-11-251-1/+1
|
* Avoid OP_VARARGPREP for active linesRoberto Ierusalimschy2021-11-101-0/+43
| | | | | when building the table 'activelines' for a vararg function, this first instruction does not make the first line active.
* Bug: Wrong status in coroutine during resetRoberto Ierusalimschy2021-11-081-1/+43
| | | | | | | | | When closing variables during 'coroutine.close' or 'lua_resetthread', the status of a coroutine must be set to LUA_OK; a coroutine should not run with any other status. (See assertion in 'lua_callk'.) After the reset, the status should be kept as normal, as any error was already reported.
* Bug: C stack overflow with coroutinesRoberto Ierusalimschy2021-11-031-0/+14
| | | | | | 'coroutine.resume' did not increment counter of C calls when continuing execution after a protected error (that is, while running 'precover').
* Avoid overflows when incrementing parameters in CRoberto Ierusalimschy2021-09-222-0/+23
| | | | | | Any C function can receive maxinteger as an integer argument, and therefore cannot increment it without some care (e.g., doing unsigned arithmetic as the core does).
* Revamp of format validation in 'string.format'Roberto Ierusalimschy2021-09-031-8/+28
| | | | | When calling 'sprintf', not all conversion specifiers accept all flags; some combinations are undefined behavior.
* Detail in 'testes/math.lua'Roberto Ierusalimschy2021-08-181-0/+1
| | | | Added a print with the random seeds used in the tests of 'random'.
* Option '-l' can give a name for the global variable.Roberto Ierusalimschy2021-08-161-0/+5
| | | | Sintax for this option now is '-l [globname=]modname'.
* Added tests for string reuse by the scannerRoberto Ierusalimschy2021-08-112-1/+25
|
* Bug: luaL_tolstring may get confused with negative indexRoberto Ierusalimschy2021-07-221-0/+16
| | | | | When object has a '__name' metafield, 'luaL_tolstring' used the received index after pushing a string on the stack.
* Bug: Negation in 'luaV_shiftr' may overflowRoberto Ierusalimschy2021-07-221-0/+5
| | | | Negation of an unchecked lua_Integer overflows with mininteger.
* Bug: 'local function' can assign to '<const>' variablesRoberto Ierusalimschy2021-06-201-0/+2
|
* C functions can be tail called, tooRoberto Ierusalimschy2021-06-142-3/+3
| | | | | A tail call to a C function can have the behavior of a "real" tail call, reusing the stack frame of the caller.
* Bug: yielding in '__close' mess up number of returnsRoberto Ierusalimschy2021-04-161-0/+59
| | | | | Yielding in a __close metamethod called when returning vararg results changes the top and so messes up the number of returned values.
* Bug: tbc variables in "for" loops don't avoid tail callsRoberto Ierusalimschy2021-04-071-0/+23
|
* Changes in cache for function constantsRoberto Ierusalimschy2021-03-301-0/+14
| | | | | | | | In 'lcode.c', when adding constants to the list of constants of a function, integers represent themselves in the cache and floats with integral values get a small delta to avoid collision with integers. (This change avoids creating artificial addresses; the old implementation converted integers to pointers to index the cache.)