Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Short strings always use all bytes in the hash | Roberto Ierusalimschy | 2020-04-01 | 3 | -7/+10 | |
| | | | | | | Collisions in short strings occurr just by their existence, when internalizing them. (Collisions in long strings is caused/controlled by the program, when adding them as keys to the same table.) | |||||
* | Fixed bug in 'string.format("%p")' | Roberto Ierusalimschy | 2020-03-16 | 3 | -8/+19 | |
| | | | | | The string "(null)" used for non-collectable values must be printed as a string, not as a pointer. (Bug introduced in commit e0cbaa50fa7). | |||||
* | Fixed "conceptual" bug in 'luaK_setreturns' | Roberto Ierusalimschy | 2020-03-02 | 2 | -5/+5 | |
| | | | | | | | | This function was computing invalid instruction addresses when the expression was not a multi-return instruction. (Virtually all machines don't raise errors when computing an invalid address, as long as the address is not accessed, but this computation is undefined behavior in ISO C.) | |||||
* | Corrected direct use of 'snprintf' in 'lstrlib.c' | Roberto Ierusalimschy | 2020-02-28 | 1 | -1/+1 | |
| | ||||||
* | Code style in 'ldump'/'lundump'. | Roberto Ierusalimschy | 2020-02-27 | 2 | -149/+149 | |
| | | | | | - function names start with lower case; - state is always the first parameter. | |||||
* | Details | Roberto Ierusalimschy | 2020-02-27 | 13 | -45/+52 | |
| | | | | | Several details in code (e.g., moving a variable to the most inner scope that encloses its uses), comments, parameter names, extra tests. | |||||
* | OP_LOADFALSE broken in two instructions | Roberto Ierusalimschy | 2020-02-11 | 6 | -6/+14 | |
| | ||||||
* | Tag values don't need to be different from type values | Roberto Ierusalimschy | 2020-01-31 | 1 | -18/+19 | |
| | | | | Variants can use zero for first variant. | |||||
* | Clearer distinction between types and tags | Roberto Ierusalimschy | 2020-01-31 | 22 | -212/+230 | |
| | | | | | LUA_T* represents only types; tags (types + Variants) are represented by LUA_V* constants. | |||||
* | New macro 'makevariant' to codify variant tags | Roberto Ierusalimschy | 2020-01-06 | 1 | -11/+14 | |
| | ||||||
* | Changed internal representation of booleans | Roberto Ierusalimschy | 2020-01-06 | 14 | -52/+87 | |
| | | | | | | | Instead of an explicit value (field 'b'), true and false use different tag variants. This avoids reading an extra field and results in more direct code. (Most code that uses booleans needs to distinguish between true and false anyway.) | |||||
* | Fixed bug in 'aux_rawset' | Roberto Ierusalimschy | 2019-12-30 | 1 | -1/+1 | |
| | | | | | In 'aux_rawset', top must be decremented after the barrier, which refers to top-1. (Bug introduced in commit c646e57fd.) | |||||
* | Comments (mosty typos) | Roberto Ierusalimschy | 2019-12-30 | 15 | -21/+28 | |
| | ||||||
* | Copyright year changed to 2020 | Roberto Ierusalimschy | 2019-12-27 | 2 | -3/+3 | |
| | ||||||
* | Joined common code in 'lua_rawset' and 'lua_rawsetp' | Roberto Ierusalimschy | 2019-12-17 | 3 | -21/+23 | |
| | ||||||
* | Easy way to allow Unicode characters in identifiers | Roberto Ierusalimschy | 2019-12-17 | 1 | -16/+25 | |
| | | | | For those that want to try it... | |||||
* | Added test for NULL in string.format("%p") | Roberto Ierusalimschy | 2019-12-17 | 1 | -0/+2 | |
| | | | | | | ISO C states that standard library functions should not be called with NULL arguments, unless stated otherwise. 'sprintf' does not state otherwise, and it doesn't hurt to be on the safe side. | |||||
* | Small correction in assertion | Roberto Ierusalimschy | 2019-12-13 | 2 | -2/+2 | |
| | ||||||
* | Comment about LUA_COMPAT_LT_LE moved to proper place | Roberto Ierusalimschy | 2019-12-10 | 2 | -6/+12 | |
| | ||||||
* | Simplifications in 'op_arith*' family of macros | Roberto Ierusalimschy | 2019-12-05 | 1 | -47/+27 | |
| | ||||||
* | Using an enumeration for float->integer coercion modes | Roberto Ierusalimschy | 2019-12-05 | 4 | -22/+30 | |
| | ||||||
* | 'l_mathlim' renamed to 'l_floatatt' | Roberto Ierusalimschy | 2019-12-05 | 4 | -8/+8 | |
| | | | | That macro is applied to float attributes, not to limits. | |||||
* | Better comments about the use of 'k' in opcodes | Roberto Ierusalimschy | 2019-12-05 | 2 | -30/+34 | |
| | ||||||
* | Manual a little more clear about string->number coersions | Roberto Ierusalimschy | 2019-12-05 | 1 | -16/+25 | |
| | ||||||
* | Code reorganization for opcodes OP_FORPREP and OP_FORLOOP | Roberto Ierusalimschy | 2019-12-04 | 1 | -75/+116 | |
| | | | | | Parts of the code for opcodes OP_FORPREP and OP_FORLOOP were moved to functions outside the interpreter loop. | |||||
* | Removed some wrong comments | Roberto Ierusalimschy | 2019-11-28 | 1 | -8/+6 | |
| | | | | | Both 'tonumber' and 'tointeger' cannot change the out parameter when the conversion fails. | |||||
* | More generic pattern when testing 'string.format' | Roberto Ierusalimschy | 2019-11-22 | 1 | -2/+2 | |
| | | | | | The result of 'string.format("%a", 0.0)' can have multiple zeros after the dot. | |||||
* | Details | Roberto Ierusalimschy | 2019-11-18 | 6 | -15/+16 | |
| | ||||||
* | Using 'metavalues' for "metamethods" that are not methods | Roberto Ierusalimschy | 2019-11-08 | 1 | -21/+26 | |
| | | | | | | Several "metamethods" are not required to be methods (functions), so it seems clearer not to call them metamethods. The manual now uses the word 'metavalue' for those values. | |||||
* | Comments in 'lopcodes.h' | Roberto Ierusalimschy | 2019-11-07 | 1 | -92/+92 | |
| | | | | | Both 'R' and 'K' are arrays, so the comments should use square brackets to index them. | |||||
* | File 'bugs' no longer tracked by git | Roberto Ierusalimschy | 2019-10-30 | 1 | -4052/+0 | |
| | | | | | | | 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. | |||||
* | Fixed bug in tail calls of __call chains | Roberto Ierusalimschy | 2019-10-28 | 2 | -2/+26 | |
| | | | | | A tail call of a __call chain (a __call metamethod that itself is also not a function) was being perfomed as a regular call. | |||||
* | Fixed warnings from Keil compiler | Roberto Ierusalimschy | 2019-10-25 | 2 | -7/+4 | |
| | ||||||
* | Change in the prefix of messages from searchers | Roberto Ierusalimschy | 2019-10-24 | 2 | -5/+32 | |
| | | | | | | The initial "\n\t" to properly indent a searcher message is being added by 'findloader' when building the error message, instead of being included in the original message by each searcher itself. | |||||
* | Added function 'luaL_buffsub' | Roberto Ierusalimschy | 2019-10-23 | 2 | -9/+19 | |
| | ||||||
* | Several enhancements in the manual | Roberto Ierusalimschy | 2019-10-23 | 1 | -43/+54 | |
| | ||||||
* | More pious implementation of 'string.dump' | Roberto Ierusalimschy | 2019-10-23 | 1 | -8/+24 | |
| | | | | | | | In 'str__dump', the call to 'lua_dump' assumes the function is on the top of the stack, but the manual allows 'luaL_buffinit' to push stuff on the stack (although the current implementation does not). So, the call to 'luaL_buffinit' must come after the call to 'lua_dump'. | |||||
* | Changed definition of macro 'l_isfalse' | Roberto Ierusalimschy | 2019-10-22 | 1 | -1/+1 | |
| | | | | | | The old definition did one test for nil, but three tests for the all too common booleans (and two tests for other values); this definition does two tests for all values. | |||||
* | Details (mostly comments) | Roberto Ierusalimschy | 2019-10-22 | 4 | -9/+28 | |
| | ||||||
* | Larger C-stack limits for new threads | Roberto Ierusalimschy | 2019-10-17 | 1 | -1/+1 | |
| | | | | | | New threads were being created with very small C-stack limits. This is not a problem for coroutines, because 'lua_resume' sets a new limit, but not all threads are coroutines. | |||||
* | Easy redefinition of valid flags for 'string.format' | Roberto Ierusalimschy | 2019-10-17 | 1 | -3/+6 | |
| | ||||||
* | Improvements in the manual around metamethodsv5.4-beta | Roberto Ierusalimschy | 2019-10-08 | 1 | -35/+42 | |
| | ||||||
* | No coercion string->number in arithmetic with LUA_NOCVTS2N | Roberto Ierusalimschy | 2019-10-08 | 1 | -0/+13 | |
| | ||||||
* | Makefile compiles the Lua compiler with '-Os' | Roberto Ierusalimschy | 2019-10-08 | 1 | -0/+10 | |
| | | | | | | The performance of the Lua compiler is not critical for Lua performance, but it is a big component in the source. So, it makes sense to trade speed for size in this component. | |||||
* | Fixed a warning and other minor issues | Roberto Ierusalimschy | 2019-10-04 | 6 | -8/+9 | |
| | | | | Fixed some minor issues from the feedback for 5.4-beta rc1. | |||||
* | Script 'packtests' gets Lua version as a parameter | Roberto Ierusalimschy | 2019-10-02 | 1 | -1/+3 | |
| | ||||||
* | Janitorial work | Roberto Ierusalimschy | 2019-10-01 | 4 | -58/+62 | |
| | | | | | | | - Several details in 'lcode.c' - A few more tests for code generation - Bug in assert in 'lcode.c' ("=" x "==") - Comments in 'lopcodes.h' and 'ltable.c' | |||||
* | Details in the makefile (warning options) | Roberto Ierusalimschy | 2019-09-24 | 1 | -8/+8 | |
| | ||||||
* | Subtraction of small constant integers optimized with OP_ADDI | Roberto Ierusalimschy | 2019-09-24 | 4 | -31/+46 | |
| | ||||||
* | 'setCstacklimit' renamed to 'setcstacklimit' | Roberto Ierusalimschy | 2019-09-24 | 5 | -23/+23 | |
| | | | | Function names in the API use only lowercase letters. |