Roberto Ierusalimschy
07a9eab23a
Cannot use 'getshrstr' before setting 'shrlen'
1 year ago
Roberto Ierusalimschy
c815c2f0eb
Merge branch 'master' into nextversion
1 year ago
Roberto Ierusalimschy
9363a8b990
Documentation for "LUA_NOENV"
Registry field "LUA_NOENV" (that signals to libraries that option -E
is on) now part of the "official" API of Lua stand-alone.
1 year ago
Roberto Ierusalimschy
5ab6a5756b
Bug: Wrong line number for function calls
1 year ago
Roberto Ierusalimschy
9b4f39ab14
More disciplined use of 'getstr' and 'tsslen'
We may want to add other string variants in the future; this change
documents better where the code may need to handle those variants.
1 year ago
Roberto Ierusalimschy
f4211a5ea4
More control over encoding of test files
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).
1 year ago
Roberto Ierusalimschy
1b3f507f62
Bug: Call hook may be called twice when count hook yields
Took the opportunity and moved the code that controls call hooks
in 'luaV_execute' into a function.
1 year ago
Roberto Ierusalimschy
6b51133a98
Thread stacks resized in the atomic phase
Although stack resize can be a little expensive, it seems unusual to
have too many threads needing resize during one GC cycle. On the other
hand, the change allows full collections to skip the propagate phase,
going straight from a pause to the atomic phase.
1 year ago
Roberto Ierusalimschy
cbae016202
Details
1 year ago
Roberto Ierusalimschy
ab6a949522
Merge branch 'master' into nextversion
1 year ago
Roberto Ierusalimschy
ea39042e13
Removed redundancy in definitions of version/release
String rendering now derived from the numeric original definitions.
1 year ago
Roberto Ierusalimschy
05ec55f16b
Avoid inclusion loop in 'ltm.h'
1 year ago
Roberto Ierusalimschy
f623b96932
Bug: read overflow in 'l_strcmp'
Equality according to 'strcoll' does not imply that strings have
the same length.
1 year ago
Roberto Ierusalimschy
9be74ccc21
Several functions turned 'static'
Several functions that were already being used only inside their
own file have been declared as 'static'.
1 year ago
Roberto Ierusalimschy
819bd51d87
Some cleaning in the new table API
2 years ago
Roberto Ierusalimschy
f8d30826dd
New table API for 'set' functions
2 years ago
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.)
2 years ago
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.
2 years ago
Roberto Ierusalimschy
c197885cb0
Small improvements in tests
2 years ago
Roberto Ierusalimschy
934e77a286
Details
- Better comments about short strings in opcodes.
- luaH_newkey made static.
2 years ago
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.
2 years ago
Roberto Ierusalimschy
e15f1f2bb7
Details
Typos in comments and details in the manual.
2 years ago
Roberto Ierusalimschy
b5c65705ca
New year (2023)
Also, small tweak in makefile. (-Wsign-compare is already enabled by
-Wextra.)
2 years ago
Roberto Ierusalimschy
7ca8105a2e
More orderliness in casts of enumerations
2 years ago
Roberto Ierusalimschy
94689ac3ad
More regularity in uses of enums in 'lcode.c'
2 years ago
Roberto Ierusalimschy
86e8039a72
Clock component removed from 'luaL_makeseed'
'clock' can be quite slow on some machines.
2 years ago
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.
2 years ago
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.
2 years ago
Roberto Ierusalimschy
c4b71b7ba0
Details
Comments in 'onelua.c'
2 years ago
Roberto Ierusalimschy
1de2f31694
Corrected support for 16-bit systems
We still need access to a 16-bit system to correctly test
these changes.
2 years ago
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'.
2 years ago
Roberto Ierusalimschy
5e08b41567
Simpler definition for LUA_STRFTIMEOPTIONS
There is no need for those intermediate definitions.
2 years ago
Roberto Ierusalimschy
8c064fdc23
Merge branch 'master' into nextversion
2 years ago
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.
2 years ago
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.
2 years ago
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'.
2 years ago
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".
2 years ago
Roberto Ierusalimschy
b5ab31a475
Merge branch 'master' into nextversion
2 years ago
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.
2 years ago
Roberto Ierusalimschy
140cdcced5
Merge branch 'master' into nextversion
2 years ago
Roberto Ierusalimschy
0825cf237d
Detail in make file for testes/libs
Everything depends on the Lua version (as given by 'lua.h')
2 years ago
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.
2 years ago
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.
2 years ago
Roberto Ierusalimschy
b2f7b3b79f
Control variables in for loops are read only
2 years ago
Roberto Ierusalimschy
540d805226
Towards Lua 5.5
2 years ago
Roberto Ierusalimschy
7d6a97e42b
Dump doesn't need to reuse 'source'
All strings are being reused now, including 'source'.
2 years ago
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.
2 years ago
Roberto Ierusalimschy
3e6818ca87
Merge branch 'master' into nextversion
2 years ago
Roberto Ierusalimschy
f874d37fa2
Small change in barrier macros
Reuse macros for objects when defining the macros for values.
2 years ago
Roberto Ierusalimschy
88e5c6b80b
Merge branch 'master' into nextversion
2 years ago