1
0
mirror of https://github.com/lua/lua synced 2026-06-08 15:34:49 +00:00

5809 Commits

Author SHA1 Message Date
Roberto Ierusalimschy 05ec55f16b Avoid inclusion loop in 'ltm.h' 2023-06-16 11:52:14 -03:00
Roberto Ierusalimschy f623b96932 Bug: read overflow in 'l_strcmp'
Equality according to 'strcoll' does not imply that strings have
the same length.
2023-06-14 14:38:07 -03:00
Roberto Ierusalimschy 9be74ccc21 Several functions turned 'static'
Several functions that were already being used only inside their
own file have been declared as 'static'.
2023-05-22 14:47:54 -03:00
Roberto Ierusalimschy 819bd51d87 Some cleaning in the new table API 2023-05-16 16:53:29 -03:00
Roberto Ierusalimschy f8d30826dd New table API for 'set' functions 2023-05-16 14:55:49 -03:00
Roberto Ierusalimschy 351ccd7332 Towards a new implementation of arrays
The array part of a table wastes too much space, due to padding.
To avoid that, we need to store values in the array as something
different from a TValue. Therefore, the API for table access
should not assume that any value in a table lives in a *TValue.
This commit is the first step to remove that assumption: functions
luaH_get*, instead of returning a *TValue where the value lives,
receive a *TValue where to put the value being accessed.
(We still have to change the luaH_set* functions.)
2023-05-15 17:56:25 -03:00
Roberto Ierusalimschy 09f3c2372f Option '-l' discards version sufix from file name
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.
2023-05-15 13:46:38 -03:00
Roberto Ierusalimschy c197885cb0 Small improvements in tests 2023-05-15 10:20:13 -03:00
Roberto Ierusalimschy 934e77a286 Details
- Better comments about short strings in opcodes.
- luaH_newkey made static.
2023-05-15 10:07:25 -03:00
Roberto Ierusalimschy 6443185167 "Emergency" new version 5.4.6
'lua_resetthread' is back to its original signature, to avoid
incompatibilities in the ABI between releases of the same version.
New function 'lua_closethread' added with the "correct" signature.
v5.4.6
2023-05-02 16:41:43 -03:00
Roberto Ierusalimschy e15f1f2bb7 Details
Typos in comments and details in the manual.
v5.4.5
2023-04-18 09:44:10 -03:00
Roberto Ierusalimschy b5c65705ca New year (2023)
Also, small tweak in makefile. (-Wsign-compare is already enabled by
-Wextra.)
2023-03-31 11:47:31 -03:00
Roberto Ierusalimschy 7ca8105a2e More orderliness in casts of enumerations 2023-03-27 16:29:39 -03:00
Roberto Ierusalimschy 94689ac3ad More regularity in uses of enums in 'lcode.c' 2023-03-24 15:52:03 -03:00
Roberto Ierusalimschy 86e8039a72 Clock component removed from 'luaL_makeseed'
'clock' can be quite slow on some machines.
2023-03-23 16:01:16 -03:00
Roberto Ierusalimschy 5a04f1851e New function 'luaL_makeseed'
This function unifies code from 'lua_newstate', 'math.randomseed',
and 'table.sort' that tries to create a value with a minimum level
of randomness.
2023-03-20 16:13:17 -03:00
Roberto Ierusalimschy ab859fe59b Bug: Loading a corrupted binary file can segfault
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.
2023-03-17 15:52:09 -03:00
Roberto Ierusalimschy c4b71b7ba0 Details
Comments in 'onelua.c'
2023-03-09 11:12:11 -03:00
Roberto Ierusalimschy 1de2f31694 Corrected support for 16-bit systems
We still need access to a 16-bit system to correctly test
these changes.
2023-03-09 11:10:04 -03:00
Roberto Ierusalimschy 02bab9fc25 Bug: Wrong line in error message for arith. errors
It also causes 'L->top' to be wrong when the error happens,
triggering an 'assert'.
2023-02-08 14:15:41 -03:00
Roberto Ierusalimschy 5e08b41567 Simpler definition for LUA_STRFTIMEOPTIONS
There is no need for those intermediate definitions.
2023-02-07 10:48:39 -03:00
Roberto Ierusalimschy 8c064fdc23 Merge branch 'master' into nextversion 2023-02-02 13:47:28 -03:00
Roberto Ierusalimschy cf08915d62 New macro LUA_USE_IOS
Do not try to detect automatically whether system is iOS; it is
simpler and more reliable to let the programmer inform that.
2023-02-02 13:43:41 -03:00
Roberto Ierusalimschy c888ae0aea Small changes in hash of pointers
When converting from pointer to integer, use 'uintptr_t' if available;
otherwise try 'uintmax_t', and use 'size_t' as last resource.
2023-02-02 13:37:11 -03:00
Roberto Ierusalimschy d69789da1c Fix absence of 'system' in iOS
Despite claiming to be ISO, the C library in some Apple platforms
does not implement 'system'.
2023-01-24 15:04:17 -03:00
Roberto Ierusalimschy 8dea54877a Do not avoid major collections when GCdebt is zero
'collectgarbage("step")' (without an argument) does not have any
special meaning, it means "do a step with some default size".
2022-12-29 15:41:07 -03:00
Roberto Ierusalimschy b5ab31a475 Merge branch 'master' into nextversion 2022-12-28 18:38:20 -03:00
Roberto Ierusalimschy 314745ed84 Avoid excessive name pollution in test files
Test files are more polite regarding the use of globals when locals
would do, and when globals are necessary deleting them after use.
2022-12-28 18:34:11 -03:00
Roberto Ierusalimschy 140cdcced5 Merge branch 'master' into nextversion 2022-12-23 11:30:07 -03:00
Roberto Ierusalimschy 0825cf237d Detail in make file for testes/libs
Everything depends on the Lua version (as given by 'lua.h')
2022-12-23 11:28:11 -03:00
Roberto Ierusalimschy 7d4c7ae2af Changes in opcodes for generic 'for'
Again, as the control variable is read only, the code doesn't need
to keep an internal copy of it.
2022-12-22 13:52:53 -03:00
Roberto Ierusalimschy 873588dc5f Simplification in opcodes for numerical 'for'
As the control variable is read only, the code doesn't need to keep
an internal copy of it.
2022-12-21 15:35:40 -03:00
Roberto Ierusalimschy b2f7b3b79f Control variables in for loops are read only 2022-12-21 12:04:59 -03:00
Roberto Ierusalimschy 540d805226 Towards Lua 5.5 2022-12-20 13:24:43 -03:00
Roberto Ierusalimschy 7d6a97e42b Dump doesn't need to reuse 'source'
All strings are being reused now, including 'source'.
2022-12-20 11:14:52 -03:00
Roberto Ierusalimschy d70a0c91ad Dump/undump reuse strings
A repeated string in a dump is represented as an index to its first
occurence, instead of another copy of the string.
2022-12-15 16:44:22 -03:00
Roberto Ierusalimschy 3e6818ca87 Merge branch 'master' into nextversion 2022-12-15 14:23:59 -03:00
Roberto Ierusalimschy f874d37fa2 Small change in barrier macros
Reuse macros for objects when defining the macros for values.
2022-12-15 14:18:03 -03:00
Roberto Ierusalimschy 88e5c6b80b Merge branch 'master' into nextversion 2022-12-15 10:51:04 -03:00
Roberto Ierusalimschy 35e01ed21d Small improvements in 'lmem.c'
Added some auxiliary macros + fixed a bug in compilation option
EMERGENCYGCTESTS. (It should not try to force an emergency collection
when it cannot run one.)
2022-12-15 10:44:55 -03:00
Roberto Ierusalimschy e33e1bda97 Merge branch 'master' into nextversion 2022-12-14 16:22:43 -03:00
Roberto Ierusalimschy 6aabf4b15e Details in some header files
Identifier LUA_NUMTAGS was deprecated (changed to LUA_NUMTYPES) +
better handling of some inclusion loops.
2022-12-14 16:20:39 -03:00
Roberto Ierusalimschy 5d8b5b9290 Changed signal of GC debt
Positive debts seems more natural then negative ones.
2022-12-13 15:45:57 -03:00
Roberto Ierusalimschy 40565b4a08 Revamp of GC parameters
More uniformity when handling GC parameters + avoid divisions by 100
when applying them.
2022-12-13 11:55:14 -03:00
Roberto Ierusalimschy ff106c028c Merge branch 'master' into nextversion 2022-12-12 14:08:55 -03:00
Roberto Ierusalimschy fa2f294dd1 Reduce calls to 'luaC_step' when GC is stopped 2022-12-09 16:35:19 -03:00
Roberto Ierusalimschy d738c8d18b New function 'luaL_openselectedlibs'
Makes it easier to start Lua with only some standard libraries.
2022-12-07 15:12:52 -03:00
Roberto Ierusalimschy 0270c204c2 Simplification in handling of GC debt
Each incremental step has always the same size (stepsize), and the
debt for next step also is always the same.
2022-12-06 12:02:34 -03:00
Roberto Ierusalimschy 82fae58e25 Details
Parentheses and comments.
2022-12-02 11:33:09 -03:00
Roberto Ierusalimschy efc7c5d503 Merge branch 'master' into nextversion 2022-12-01 09:51:07 -03:00