a8d3aa14fd
global table now is only kept in the registry
Roberto Ierusalimschy
2010-03-29 14:43:14 -03:00
064e406f67
no more fenvs!
Roberto Ierusalimschy
2010-03-26 17:58:11 -03:00
5c87f61e6b
major collections in generational mode
Roberto Ierusalimschy
2010-03-25 16:37:23 -03:00
3aa9598177
'mainthread' is not inserted in the 'allgc' list anymore, but swept separately.
Roberto Ierusalimschy
2010-03-25 10:06:36 -03:00
64d39ed1b6
generational mode no longer sweep old objects
Roberto Ierusalimschy
2010-03-24 12:51:10 -03:00
4433dbb5f5
userdata with finalizers are kept in a separated list ('udgc'), instead of at the end of 'rootgc' (which was renamed to 'allgc', as it is not "root" in the usual meaning for collectors)
Roberto Ierusalimschy
2010-03-24 10:07:01 -03:00
5cb128ea54
BUG: emergency collector might resize 'strt' (string table) when creating a new string + atomic and markroot steps has some cost + full collection must leave collector in proper state when mode is generational
Roberto Ierusalimschy
2010-03-23 17:16:06 -03:00
74123e9686
draft version of a generational mode for garbage collection. (Not well tested; no major collections; ...)
Roberto Ierusalimschy
2010-03-22 15:28:03 -03:00
28b2566c97
'lua_assert' not visible from libraries
Roberto Ierusalimschy
2010-03-22 14:28:31 -03:00
caf74dd731
'cpcall' renamed to 'ccall' as it does not do a protected call
Roberto Ierusalimschy
2010-03-19 18:04:17 -03:00
62840c5fad
'ipairs' is deprecated
Roberto Ierusalimschy
2010-03-19 12:52:48 -03:00
5ca7cdd709
for compatibility only: 'module' changes the first upvalue of calling function to affect its environment
Roberto Ierusalimschy
2010-03-19 12:02:34 -03:00
1514e49d43
avoid using function environments in C libraries (as it probably will be deprecated)
Roberto Ierusalimschy
2010-03-17 18:37:37 -03:00
22ef84b6c8
'_ENV' name permanently stored in global state for easier access
Roberto Ierusalimschy
2010-03-13 12:55:42 -03:00
63a2b62468
must include 'string.h' because a macro uses 'strlen'
Roberto Ierusalimschy
2010-03-13 12:55:01 -03:00
489253d753
better definitions for lua_[gs]etglobal + less uses of ENVIRONINDEX
Roberto Ierusalimschy
2010-03-13 00:57:46 -03:00
25c557ec63
first version of _ENV; no more global variables
Roberto Ierusalimschy
2010-03-12 16:14:06 -03:00
f292760f12
small optimization in luaL_addlstring (avoid adding chars one by one) (suggested by Chuck Coffing)
Roberto Ierusalimschy
2010-03-12 15:59:32 -03:00
1124cb1247
first step towards _ENV: all chunks have an puvalues _ENV with the global table
Roberto Ierusalimschy
2010-03-08 13:55:52 -03:00
c295147874
when finding a 'name' for a function, handle the case when the function is a for iterator
Roberto Ierusalimschy
2010-03-05 11:01:29 -03:00
e560ac4862
when searching for a variable name, look existing upvalues before goingg to upper levels
Roberto Ierusalimschy
2010-03-04 15:12:57 -03:00
915a9a912c
just in case, better to flush error messages
Roberto Ierusalimschy
2010-03-03 15:53:02 -03:00
ae0a5e2142
new option '*L' for io.read + options for io.lines
Roberto Ierusalimschy
2010-03-03 15:48:57 -03:00
622e448710
removed useless test (argv[i] cannot be NULL when i<argc)
Roberto Ierusalimschy
2010-02-27 18:15:36 -03:00
0fe2576a39
new instructions to optimize indexing on upvalues
Roberto Ierusalimschy
2010-02-26 17:40:29 -03:00
d08d237a49
detail: in loadfile read function, no need to return NULL on EOF; size ==0 is enough to signal EOF.
Roberto Ierusalimschy
2010-02-18 17:37:57 -02:00
64a7ec987c
avoid using 'ungetc' in loadfile
Roberto Ierusalimschy
2010-02-18 17:32:41 -02:00
4274738e81
new macro 'luai_writestringerror'
Roberto Ierusalimschy
2010-02-18 17:18:41 -02:00
0d7d559dcc
no need to flush either stderr or \n-terminated outputs
Roberto Ierusalimschy
2010-02-11 15:12:27 -02:00
af512ad6da
use of 'conventional' names for shift and rotate operations + right/left versions for them
Roberto Ierusalimschy
2010-02-11 13:55:29 -02:00
d27108ccd5
removed support for '#fist-line comment' on binary files (as binary files do not have lines...)
Roberto Ierusalimschy
2010-02-11 13:52:50 -02:00
4c54cd3a10
when yielding, original 'func' value must be kept and restored so that 'poscall' puts results in the right slot.
Roberto Ierusalimschy
2010-02-09 09:56:29 -02:00
c8ff7de7f0
field 'oldtop' renamed to 'extra', as it can be used for other purposes
Roberto Ierusalimschy
2010-02-09 09:55:37 -02:00
3bae8e047c
typo (thanks to Gavin)
Roberto Ierusalimschy
2010-02-05 17:09:09 -02:00
4f5f2fe367
new function 'luaL_cpcall'
Roberto Ierusalimschy
2010-01-21 14:49:21 -02:00
01586d539e
typo in comment
Roberto Ierusalimschy
2010-01-21 14:31:24 -02:00
36ab1ee10c
__unm metamethod gets nil as its 2nd parameter
Roberto Ierusalimschy
2010-01-15 14:23:58 -02:00
193ce46970
table.pack was locking last result, avoiding its collection
Roberto Ierusalimschy
2010-01-13 17:59:10 -02:00
b678f246a4
HINSTANCE -> HMODULE (they are the same thing, but the MS documentation uses the latter) + LoadLibrary -> LoadLibraryEx with optional arguments, to allow the option LOAD_WITH_ALTERED_SEARCH_PATH
Roberto Ierusalimschy
2010-01-13 14:30:27 -02:00
f270e7f044
warnings that are not compatible with C++ separated from other warning options
Roberto Ierusalimschy
2010-01-13 14:19:54 -02:00
070d3743a7
"no value" added to array luaT_typenames + occurrences of "userdata" in that array unified in a single address
Roberto Ierusalimschy
2010-01-13 14:18:25 -02:00
0c7de97d47
correct error message when yielding from outside a coroutine
Roberto Ierusalimschy
2010-01-13 14:17:32 -02:00
900b7d4514
on 64-bit machines, an address may not fit into a 'long', so it is better to convert from pointer to void to pointer to function directly, even if ANSI C does not like it.
Roberto Ierusalimschy
2010-01-13 14:09:05 -02:00
91f0b20a0e
missing standard defines
Roberto Ierusalimschy
2010-01-12 17:40:02 -02:00
d320c908d0
conversion from pointer to void to pointer to function seems more "correct" if done through an integral type (because conversions between pointers and numbers are allowed, only "implementation defined").
Roberto Ierusalimschy
2010-01-11 15:34:59 -02:00
572b94bbcb
include of 'windows.h' moved to where it is needed
Roberto Ierusalimschy
2010-01-11 15:11:24 -02:00
692209fa8d
Dynamic C functions should be created with the global table as their initial environments
Roberto Ierusalimschy
2010-01-11 15:06:31 -02:00
953d499ea2
changed macro lua_number2int for Windows (added brackets; some recent compilers complain about the old format) + added missing definition for 'lua_number2int' in Windows case.
Roberto Ierusalimschy
2010-01-11 14:35:20 -02:00
a541ada194
"-"-trick in C packages now accept name-v13...
Roberto Ierusalimschy
2010-01-11 14:10:47 -02:00
55d3138397
removed old prototype for 'luaI_openlib' (which does not exist anymore)
Roberto Ierusalimschy
2010-01-11 14:00:45 -02:00
e74e56f2b1
better may to force recompilation when makefile changes
Roberto Ierusalimschy
2010-01-08 18:05:36 -02:00
1ebf109c53
'setobj' must assing fields one by one, to allow trick of using pad space in table keys
Roberto Ierusalimschy
2010-01-08 18:00:20 -02:00
f75be1cb28
removed parentheses around some function names in their definitions
Roberto Ierusalimschy
2010-01-08 13:16:56 -02:00
16d2ad88fe
some changes in compatibility macros: added LUA_COMPAT_ALL + compatibility macros from lua.h and lauxlib.h moved to luaconf.h
Roberto Ierusalimschy
2010-01-06 13:15:04 -02:00
f3a6815000
compatibility code removed or moved to luaconf.h
Roberto Ierusalimschy
2010-01-06 13:14:15 -02:00
19f8c87375
compatibility code moved to luaconf.h
Roberto Ierusalimschy
2010-01-06 13:08:00 -02:00
5bcfe0c700
new debug info 'isvararg' and 'nparams'
Roberto Ierusalimschy
2010-01-06 12:42:35 -02:00
8cd395564c
no need to use two different defines (LUA_DL_DLOPEN and LUA_USE_DLOPEN)
Roberto Ierusalimschy
2010-01-06 12:35:17 -02:00
389c890ed3
again changing macro to function to save a few bytes
Roberto Ierusalimschy
2010-01-06 09:48:02 -02:00
e3866afa97
macro 'luaY_checklimit' changed into a function (and renamed 'checklimit'). It makes no sense to trade space for time in the parser.
Roberto Ierusalimschy
2010-01-05 16:46:58 -02:00
25189b420d
field 'nups' in struct 'lua_Debug' changed from 'int' to 'unsigned char' to save some space (even C functions cannot have more than maxchar upvalues).
Roberto Ierusalimschy
2010-01-05 16:33:26 -02:00
cec25167d1
new api_check that 'pcallk' cannot be called inside hooks
Roberto Ierusalimschy
2010-01-04 16:17:51 -02:00
1fd4c482a0
reorganization of switch in function 'match' (details)
Roberto Ierusalimschy
2010-01-04 14:37:19 -02:00
35e729fa6d
comments + small details
Roberto Ierusalimschy
2010-01-04 14:36:39 -02:00
0dc09cb42e
'unpack' moved to table library (and therefore "renamed" to 'table.unpack'.
Roberto Ierusalimschy
2009-12-28 14:30:31 -02:00
cc1cbd19a0
'lua_cpcall' is deprecated + other small changes in 'pmain' (comments and reordering to check arguments before running any Lua code)
Roberto Ierusalimschy
2009-12-22 14:47:12 -02:00
cb3f95d516
'lua_cpcall' is deprecated
Roberto Ierusalimschy
2009-12-22 14:47:00 -02:00
f84b575cfa
no more pseudoindex LUA_GLOBALSINDEX; global table now accessible through registry
Roberto Ierusalimschy
2009-12-22 13:32:50 -02:00
3cb343efd6
code for error message for 'setn' removed
Roberto Ierusalimschy
2009-12-18 14:53:12 -02:00
ec0fc1a13b
missing parentheses around 'lua_version' + moving typdef's before the extra include
Roberto Ierusalimschy
2009-12-18 13:32:36 -02:00
c3a6f3fa1c
'lua_objlen' replaced by 'lua_rawlen', 'lua_len', and 'luaL_len'
Roberto Ierusalimschy
2009-12-17 14:20:01 -02:00
0bbdddc86b
allocator function receives the tag of object being allocated in 'osize' when 'ptr' is NULL.
Roberto Ierusalimschy
2009-12-17 13:46:44 -02:00
b3b8dfaaea
yet more options moved from luaconf.h into internal files
Roberto Ierusalimschy
2009-12-17 11:08:51 -02:00
adc6a4865b
macro name change: LUA_INIT->LUA_INIT_VAR
Roberto Ierusalimschy
2009-12-17 11:07:41 -02:00
46f1429936
more options moved from luaconf.h into internal files
Roberto Ierusalimschy
2009-12-17 10:50:20 -02:00
e0f9d1c8f5
removed export of function only for coco
Roberto Ierusalimschy
2009-12-17 10:28:57 -02:00
de6fc75d63
several configuration options that do not change often moved out of luaconf.h and into more internal files
Roberto Ierusalimschy
2009-12-17 10:26:09 -02:00