Commit Graph

94 Commits

Author SHA1 Message Date
Roberto Ierusalimschy
063d4e4543 Lua 5.3.5 ported to git
This is the first commit for the branch Lua 5.3. All source files
were copied from the official distribution of 5.3.5 in the Lua site.
The test files are the same of 5.3.4. The manual came from the
previous RCS repository, revision 1.167.1.2.
2018-12-17 14:46:37 -02:00
Roberto Ierusalimschy
7d6b78ee79 in 'table.move', destination table can be source table even if
given as an explicit extra argument
2016-02-25 16:41:54 -03:00
Roberto Ierusalimschy
f79b4568ae details (removed silly use of 'luaL_opt' + better error messages
in cases of "table expected")
2016-02-08 10:55:19 -02:00
Roberto Ierusalimschy
e383941652 in 'table.sort': 'typedef' for type of indices + removed stack check
(recursion is in the C stack, not in the Lua stack!)
2015-12-14 09:57:38 -02:00
Roberto Ierusalimschy
5936eb16d8 randomness in 'table.sort' used only when needed (big imbalance in
partition result) + small refactoring
2015-11-25 10:48:57 -02:00
Roberto Ierusalimschy
7dc3ca7b8e handling 'clock_t' and 'time_t' correctly in ISO C point of view 2015-11-24 14:54:32 -02:00
Roberto Ierusalimschy
c231a5e2b6 using unsigned int (instead of int) in 'table.sort' to avoid overflows
(when computing the pivot and in original table size)
2015-11-23 09:17:31 -02:00
Roberto Ierusalimschy
dc9ac5b8c2 details (merging declarations with initialization) 2015-11-23 09:09:27 -02:00
Roberto Ierusalimschy
146508b28e randomness in pivot for 'table.sort' done by a macro (easier to change) 2015-11-20 10:30:20 -02:00
Roberto Ierusalimschy
bde03eeb48 in 'table.sort': tighter checks for invalid order function +
"random" pivot for larger intervals (to avoid attacks with
bad data)
2015-11-12 16:07:25 -02:00
Roberto Ierusalimschy
02340375be janitor work on 'table.sort': added comments, partition code moved
to a separated function, code conventions updated, etc. No changes
at all in the logic/algorithm
2015-11-06 14:07:14 -02:00
Roberto Ierusalimschy
0f1f51be4b 'table.move' tries to copy elements in increasing order
whenever possible
2015-09-17 12:53:50 -03:00
Roberto Ierusalimschy
bda83e22c0 'tablib' does not try to use raw operations when possible: fast
track should make standard operations fast enough to forgo
raw accesses
2015-09-09 12:42:30 -03:00
Roberto Ierusalimschy
8217e0d4fe avoid subtle possibility of arithmetic overflow 2015-07-04 13:31:42 -03:00
Roberto Ierusalimschy
ae27be40c9 better check for overflows in 'table.move' (removes restriction that
initial position should be positive)
2015-01-13 14:27:29 -02:00
Roberto Ierusalimschy
28fdbcf393 added include for 'lprefix.h', for stuff that must be added before
any other header file
2014-11-02 17:19:04 -02:00
Roberto Ierusalimschy
bdf566a8a3 `name' in comments changed to 'name' 2014-10-25 09:50:46 -02:00
Roberto Ierusalimschy
f97c64d7bf macros 'LUA_QL'/'LUA_QL' deprecated 2014-10-17 13:28:21 -03:00
Roberto Ierusalimschy
6384475ec4 'luaL_getmetafield' returns type of metafield (instead of a boolean) 2014-09-22 03:42:15 -03:00
Roberto Ierusalimschy
7f1a2ad699 new functions 'lua_geti/lua_seti' (non raw) 2014-08-21 17:07:56 -03:00
Roberto Ierusalimschy
a1ab5ab396 'table.copy' -> 'table.move' + optional parameter moved to the end +
several functions operate on "virtual" tables too
2014-08-21 16:13:55 -03:00
Roberto Ierusalimschy
3ccbae84d2 added some casts between integral types (to avoid warnings) 2014-07-29 13:01:00 -03:00
Roberto Ierusalimschy
03bbe1baf1 first implementation for 'table.copy' 2014-07-25 15:46:00 -03:00
Roberto Ierusalimschy
a9af12bbe7 Table library now respects '__index'/'__newindex' metamethods 2014-07-16 09:44:52 -03:00
Roberto Ierusalimschy
17159b491c more direct implementation of 'table.pack' 2014-05-16 15:53:25 -03:00
Roberto Ierusalimschy
b390d7c168 detail (avoid "casting down" in case lua_Integer is smaller than int) 2014-04-12 11:43:50 -03:00
Roberto Ierusalimschy
9737832641 'int' -> 'lua_Integer' in several functions 2014-04-04 13:38:11 -03:00
Roberto Ierusalimschy
315c5bf7b7 bug: compiler could optimize away overflow check (+ changing indices
from 'int' to 'lua_Integer')
2014-04-01 15:50:34 -03:00
Roberto Ierusalimschy
da4811238a details (typos in comments) 2014-03-21 10:52:33 -03:00
Roberto Ierusalimschy
15a3738b49 no need to handle 0 as a special case in 'table.remove' 2013-03-07 15:17:24 -03:00
Roberto Ierusalimschy
f4e762f688 better error checking for 'table.insert' and 'table.remove' 2013-02-06 16:29:03 -02:00
Roberto Ierusalimschy
ece042fef0 'table.pack' does not return 'n' (may be confusing when
using table.pack as last argument in a call)
2011-11-28 15:26:30 -02:00
Roberto Ierusalimschy
50cddefeeb lint (wrong identation) 2011-09-30 09:45:45 -03:00
Roberto Ierusalimschy
79cbc3468c removed and deprecated functions really removed from the code base 2011-07-05 09:49:35 -03:00
Roberto Ierusalimschy
ee37ee50d6 'table.pack' also returns 'n' + 'deprecated' changed to 'removed' 2011-07-02 13:01:44 -03:00
Roberto Ierusalimschy
fe0d54d37e table library respects '#' metamethods 2010-12-17 10:15:34 -02:00
Roberto Ierusalimschy
5b33e39855 removed deprecated functions getn-foreach-foreachi 2010-11-23 15:21:14 -02:00
Roberto Ierusalimschy
4590a89b32 corrected warnings from different compilers (mostly casts and small
details)
2010-10-25 17:01:37 -02:00
Roberto Ierusalimschy
7192afafee new module policy: C modules do not create globals and do not register
themselves with 'require' (let 'require' do its work); new auxiliary
functions luaL_newlib/luaL_newlibtable/luaL_setfuncs/luaL_requiref.
Old luaL_register will be deprecated.
2010-07-02 08:38:13 -03:00
Roberto Ierusalimschy
489253d753 better definitions for lua_[gs]etglobal + less uses of ENVIRONINDEX 2010-03-13 00:57:46 -03:00
Roberto Ierusalimschy
193ce46970 table.pack was locking last result, avoiding its collection 2010-01-13 17:59:10 -02:00
Roberto Ierusalimschy
0dc09cb42e 'unpack' moved to table library (and therefore "renamed" to
'table.unpack'.
2009-12-28 14:30:31 -02:00
Roberto Ierusalimschy
3cb343efd6 code for error message for 'setn' removed 2009-12-18 14:53:12 -02:00
Roberto Ierusalimschy
c3a6f3fa1c 'lua_objlen' replaced by 'lua_rawlen', 'lua_len', and 'luaL_len' 2009-12-17 14:20:01 -02:00
Roberto Ierusalimschy
a4472490bc new 'table.pack' function 2009-12-07 13:50:27 -02:00
Roberto Ierusalimschy
93695db903 'table.maxn' deprecated 2009-11-26 15:35:13 -02:00
Roberto Ierusalimschy
a6f465f558 new mark LUAMOD_API for all luaopen_* functions 2009-11-24 10:05:44 -02:00
Roberto Ierusalimschy
ec52149485 'lua_lessthan' replaced by more generic 'lua_compare' 2009-06-17 14:53:50 -03:00
Roberto Ierusalimschy
6d0ae11c57 'context' added to suspendable calls 2009-03-23 11:26:12 -03:00
Roberto Ierusalimschy
ba484b9eb1 yielding across lua_call (first version) 2009-03-10 14:14:37 -03:00