aboutsummaryrefslogtreecommitdiff
path: root/lutf8lib.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2020-04-30DetailsRoberto Ierusalimschy1-5/+9
When in test mode (#include "tests.h"), force Lua to use its own implementation of 'lua_strx2number' and 'lua_number2strx' to test them.
2020-04-29Fixed warning about casts between function pointersRoberto Ierusalimschy1-1/+8
gcc now warns (with -Wextra) about casts between pointers to different function types. The type 'void(*)(void)' works as a 'void*' for function pointers, cleaning the warning.
2020-04-23Several details about 5.4.0 rc1Roberto Ierusalimschy12-24/+22
Corrected several small details: added 'const', adjusts in tabs x spaces, removed unused #includes and #defines, misspellings, etc.
2020-04-23Small issue in 'exprstat'Roberto Ierusalimschy1-1/+2
The code should not compute an instruction address before checking that it exists. (Virtually no machine complains of computing an invalid address, as long as the address is not used, but for ISO C that is undefined behavior.)
2020-04-13Added 'simplesect' sections to the manualRoberto Ierusalimschy5-6/+56
'simplesect' encloses the introductory text of sections with subsections, so that each section either is all text or is all subsections. (This commit also corrects a small brace error in the manual and extra spaces/tabs in some other files.)
2020-04-10Improvements in the manualRoberto Ierusalimschy1-46/+64
Several small improvements, in particular a new subsection consolidating all status codes in the API.
2020-04-01Short strings always use all bytes in the hashRoberto Ierusalimschy3-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.)
2020-03-16Fixed bug in 'string.format("%p")'Roberto Ierusalimschy3-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).
2020-03-02Fixed "conceptual" bug in 'luaK_setreturns'Roberto Ierusalimschy2-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.)
2020-02-28Corrected direct use of 'snprintf' in 'lstrlib.c'Roberto Ierusalimschy1-1/+1
2020-02-27Code style in 'ldump'/'lundump'.Roberto Ierusalimschy2-149/+149
- function names start with lower case; - state is always the first parameter.
2020-02-27DetailsRoberto Ierusalimschy13-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.
2020-02-11OP_LOADFALSE broken in two instructionsRoberto Ierusalimschy6-6/+14
2020-01-31Tag values don't need to be different from type valuesRoberto Ierusalimschy1-18/+19
Variants can use zero for first variant.
2020-01-31Clearer distinction between types and tagsRoberto Ierusalimschy22-212/+230
LUA_T* represents only types; tags (types + Variants) are represented by LUA_V* constants.
2020-01-06New macro 'makevariant' to codify variant tagsRoberto Ierusalimschy1-11/+14
2020-01-06Changed internal representation of booleansRoberto Ierusalimschy14-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.)
2019-12-30Fixed bug in 'aux_rawset'Roberto Ierusalimschy1-1/+1
In 'aux_rawset', top must be decremented after the barrier, which refers to top-1. (Bug introduced in commit c646e57fd.)
2019-12-30Comments (mosty typos)Roberto Ierusalimschy15-21/+28
2019-12-27Copyright year changed to 2020Roberto Ierusalimschy2-3/+3
2019-12-17Joined common code in 'lua_rawset' and 'lua_rawsetp'Roberto Ierusalimschy3-21/+23
2019-12-17Easy way to allow Unicode characters in identifiersRoberto Ierusalimschy1-16/+25
For those that want to try it...
2019-12-17Added test for NULL in string.format("%p")Roberto Ierusalimschy1-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.
2019-12-13Small correction in assertionRoberto Ierusalimschy2-2/+2
2019-12-10Comment about LUA_COMPAT_LT_LE moved to proper placeRoberto Ierusalimschy2-6/+12
2019-12-05Simplifications in 'op_arith*' family of macrosRoberto Ierusalimschy1-47/+27
2019-12-05Using an enumeration for float->integer coercion modesRoberto Ierusalimschy4-22/+30
2019-12-05'l_mathlim' renamed to 'l_floatatt'Roberto Ierusalimschy4-8/+8
That macro is applied to float attributes, not to limits.
2019-12-05Better comments about the use of 'k' in opcodesRoberto Ierusalimschy2-30/+34
2019-12-05Manual a little more clear about string->number coersionsRoberto Ierusalimschy1-16/+25
2019-12-04Code reorganization for opcodes OP_FORPREP and OP_FORLOOPRoberto Ierusalimschy1-75/+116
Parts of the code for opcodes OP_FORPREP and OP_FORLOOP were moved to functions outside the interpreter loop.
2019-11-28Removed some wrong commentsRoberto Ierusalimschy1-8/+6
Both 'tonumber' and 'tointeger' cannot change the out parameter when the conversion fails.
2019-11-22More generic pattern when testing 'string.format'Roberto Ierusalimschy1-2/+2
The result of 'string.format("%a", 0.0)' can have multiple zeros after the dot.
2019-11-18DetailsRoberto Ierusalimschy6-15/+16
2019-11-08Using 'metavalues' for "metamethods" that are not methodsRoberto Ierusalimschy1-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.
2019-11-07Comments in 'lopcodes.h'Roberto Ierusalimschy1-92/+92
Both 'R' and 'K' are arrays, so the comments should use square brackets to index them.
2019-10-30File 'bugs' no longer tracked by gitRoberto Ierusalimschy1-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.
2019-10-28Fixed bug in tail calls of __call chainsRoberto Ierusalimschy2-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.
2019-10-25Fixed warnings from Keil compilerRoberto Ierusalimschy2-7/+4
2019-10-24Change in the prefix of messages from searchersRoberto Ierusalimschy2-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.
2019-10-23Added function 'luaL_buffsub'Roberto Ierusalimschy2-9/+19
2019-10-23Several enhancements in the manualRoberto Ierusalimschy1-43/+54
2019-10-23More pious implementation of 'string.dump'Roberto Ierusalimschy1-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'.
2019-10-22Changed definition of macro 'l_isfalse'Roberto Ierusalimschy1-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.
2019-10-22Details (mostly comments)Roberto Ierusalimschy4-9/+28
2019-10-17Larger C-stack limits for new threadsRoberto Ierusalimschy1-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.
2019-10-17Easy redefinition of valid flags for 'string.format'Roberto Ierusalimschy1-3/+6
2019-10-08Improvements in the manual around metamethodsv5.4-betaRoberto Ierusalimschy1-35/+42
2019-10-08No coercion string->number in arithmetic with LUA_NOCVTS2NRoberto Ierusalimschy1-0/+13
2019-10-08Makefile compiles the Lua compiler with '-Os'Roberto Ierusalimschy1-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.