Roberto Ierusalimschy
78d9865900
bugs: Internal Lua values may escape through the debug API +
...
Problems when yielding from debug hooks
2012-06-11 14:49:37 -03:00
Roberto Ierusalimschy
cc2a60ecb7
bugs in yields inside debug hooks
2012-06-08 12:14:04 -03:00
Roberto Ierusalimschy
43bfb60ac8
new auxiliary function 'luaI_printinst' (to print a single instruction)
2012-06-07 15:52:47 -03:00
Roberto Ierusalimschy
c510d94549
includes counts from 'sweeptolive' in cost of atomic step
2012-05-31 18:28:59 -03:00
Roberto Ierusalimschy
4dd0622d0c
bug in luaL_getsubtable (calling lua_absindex not with original stack)
2012-05-31 17:28:45 -03:00
Roberto Ierusalimschy
ab2c3d5cde
small bug in error handling of finalizers (cannot call lua_tostring
...
inside the core) + small bug in luaC_checkfinalizer (when avoiding
remove object being sweeped from sweep list) + small changes in GC
pace control (for the atomic part)
2012-05-31 17:26:14 -03:00
Roberto Ierusalimschy
01e5f358bd
small improvement in lua_checkmemory (only allow dead objects in
...
part of the sweep list not yet sweeped)
2012-05-31 17:25:42 -03:00
Roberto Ierusalimschy
69c775de21
update of 'lua_checkmemory'
2012-05-30 13:40:29 -03:00
Roberto Ierusalimschy
6fcdfc6d4f
bug: object being moved to 'finobj' list might not be sweeped by
...
the collector
2012-05-30 13:01:10 -03:00
Roberto Ierusalimschy
b77a90681e
typos in comments
2012-05-30 09:33:44 -03:00
Roberto Ierusalimschy
6efffb9acd
only count in 'atomic' objects marked for the first time
2012-05-29 14:52:17 -03:00
Roberto Ierusalimschy
51e8f08e60
more efficient way to apply 'stepmul' + some changes in GC parameters
2012-05-28 17:41:00 -03:00
Roberto Ierusalimschy
5adb5a4812
definition for 'MAX_LMEM'
2012-05-28 17:32:28 -03:00
Roberto Ierusalimschy
e29f3a5751
definition of 'GCSTEPSIZE' moved to header file + small changes
2012-05-23 12:43:14 -03:00
Roberto Ierusalimschy
21ed264a38
compensate for 'GCSTEPSIZE' in GC steps
2012-05-23 12:42:27 -03:00
Roberto Ierusalimschy
e131eb0d9a
removed debug code
2012-05-23 12:41:53 -03:00
Roberto Ierusalimschy
054c20cd5b
spaces -> tabs in #defines
2012-05-23 12:37:09 -03:00
Roberto Ierusalimschy
8e7149f496
detail ('char' should be 'const char')
2012-05-22 15:38:56 -03:00
Roberto Ierusalimschy
086da10dac
merge of fields 'lastmajormem' (used in gen. mode) and 'estimate'
...
(used in inc. mode)
2012-05-22 14:50:39 -03:00
Roberto Ierusalimschy
b36b4b521f
try to avoid sweeping new objects created with new white (and
...
therefore not collectable in the current cycle)
2012-05-22 14:32:25 -03:00
Roberto Ierusalimschy
398811a313
simpler macro 'luaC_condGC' + better 'step' in 'lua_gc' +
...
micro bug in 'luaC_checkfinalizer' (current sweep object could be
removed from 'allgc' list)
2012-05-21 10:18:10 -03:00
Roberto Ierusalimschy
2a66b34f72
revamp of the GC pace control; more like 5.1: any X Kbytes allocated
...
makes the GC handle f(X) Kbytes of objects
2012-05-20 17:36:44 -03:00
Roberto Ierusalimschy
8d0e1ed52f
extend optimization of 'if a then break end' for the case
...
'if a then break; end'
2012-05-20 11:51:23 -03:00
Roberto Ierusalimschy
3ac595da8a
allow "long double" precision for PI constant if needed
2012-05-18 14:47:53 -03:00
Roberto Ierusalimschy
ea980fdeef
removed 'stringmark' trick
2012-05-14 14:52:56 -03:00
Roberto Ierusalimschy
5654763797
macro 'checkGC' takes care of setting 'top' to limit stack live values
2012-05-14 14:50:49 -03:00
Roberto Ierusalimschy
edfa9e007d
details (header comments)
2012-05-14 10:34:18 -03:00
Roberto Ierusalimschy
31829ad177
test for whether collector is running moved from function to
...
macro 'luaC_condGC'.
2012-05-11 16:22:33 -03:00
Roberto Ierusalimschy
c2361e0b61
definition for 'LUAI_MAXSHORTLEN' moved to luaconf.h (too important)
2012-05-11 11:14:42 -03:00
Roberto Ierusalimschy
77cbd817d1
better(?) handling of '#define's for IEEE-related tricks + avoid using
...
IEEE trick for 64-bit integer types (lua_Integer on 64-bit machines)
2012-05-11 11:10:50 -03:00
Roberto Ierusalimschy
4ec7d6de95
bug: wrong handling of 'nCcalls' in coroutines
2012-05-11 11:10:28 -03:00
Roberto Ierusalimschy
f6a12948ca
useless parameter in macro 'luai_makeseed'
2012-05-11 11:06:07 -03:00
Roberto Ierusalimschy
3cadc37f47
no more 'Proto' objects on the stack. Protos are anchored on outer
...
Protos or on a Closure, which must be created before the Proto.
2012-05-08 10:53:33 -03:00
Roberto Ierusalimschy
bb1146dc39
wrong error message when 'coroutine.create' or 'coroutine.wrap' are
...
called with no arguments (new thread is assumed to be the missing
argument).
2012-04-27 15:59:04 -03:00
Roberto Ierusalimschy
fc24a3a6c4
small bug: a reader function should not modify the Lua stack
2012-04-27 11:13:19 -03:00
Roberto Ierusalimschy
a94ce68e0a
bug: wrong handling of 'nCcalls' in coroutines
2012-04-26 17:41:18 -03:00
Roberto Ierusalimschy
ec22fc963a
detail (separate code to create 'searchers' table into a new function)
2012-04-26 16:38:52 -03:00
Roberto Ierusalimschy
c54f5f64c9
primaryexp -> suffixedexp; prefixexp -> primaryexp + more 'syntactical'
...
way to distinguish between function calls and assignments
2012-04-20 16:20:05 -03:00
Roberto Ierusalimschy
4cca1a436d
details (using lua_setglobal/lua_getglobal instead of explicit
...
use of the global table)
2012-04-20 14:05:17 -03:00
Roberto Ierusalimschy
8df0198178
release 5.2.1
2012-04-20 10:18:26 -03:00
Roberto Ierusalimschy
048be9cf27
different scheme to check arguments to '%d', '%x', etc. Old scheme
...
did not work well when lua_Number is an integer.
2012-04-20 10:16:48 -03:00
Roberto Ierusalimschy
1485ea2ee7
Finalizers may call functions from a dynamic library after
...
the library has been unloaded
2012-04-12 13:25:25 -03:00
Roberto Ierusalimschy
b10dbe5c72
bug: C libraries must be unloaded after all other finalizers have run,
...
because a finalizer may use a C function from a C library
2012-04-11 13:35:32 -03:00
Roberto Ierusalimschy
462375ba47
'if' to avoid empty 'memcpy' (may be expensive)
2012-04-03 16:06:19 -03:00
Roberto Ierusalimschy
cfbe2333a4
string hash may not use all bytes (but this is configurable now) +
...
small other changes
2012-03-28 15:28:25 -03:00
Roberto Ierusalimschy
afc3fcf952
definition for 'LUA_MAXSHORTLEN' moved to 'lstring.c' (used only there)
2012-03-28 15:27:25 -03:00
Roberto Ierusalimschy
99bd1a000f
error function can be 'l_noret'
2012-03-19 19:58:09 -03:00
Roberto Ierusalimschy
3e66d3b4be
cleaner code (avoids loop with empty body)
2012-03-19 19:57:14 -03:00
Roberto Ierusalimschy
29a28693e5
'luaL_checkversion' called by 'luaL_setfuncs'
2012-03-18 13:52:49 -03:00
Roberto Ierusalimschy
678c1255c9
random seed used in the hash of all strings to avoid intentional
...
collisions
2012-02-01 19:57:15 -02:00
Roberto Ierusalimschy
a4b96ce9a3
first implementation of long strings
2012-01-25 19:05:40 -02:00
Roberto Ierusalimschy
291f564485
field 'reserved' -> 'extra' (may be used for other purposes too)
2012-01-23 21:05:51 -02:00
Roberto Ierusalimschy
9f1a8dbdd3
'eqstr' -> 'luaS_eqstr'
2012-01-23 21:05:18 -02:00
Roberto Ierusalimschy
d19f1da6ef
new macro 'isreserved' + 'eqstr' -> 'luaS_eqstr' (may be a function)
2012-01-23 21:04:07 -02:00
Roberto Ierusalimschy
f88806a1fb
"default: lua_assert(0)" in switches helps debugging + uses
...
non-variant types in binary files
2012-01-23 21:02:10 -02:00
Roberto Ierusalimschy
fb6eee2805
Lua never uses Ã'assert' (it is always 'lua_assert')
2012-01-23 20:59:02 -02:00
Roberto Ierusalimschy
0010ec68b1
documentation comment (small correction about strings being
...
gray)
2012-01-23 18:29:12 -02:00
Roberto Ierusalimschy
28f8ed9113
new macro 'checktype'
2012-01-20 20:47:11 -02:00
Roberto Ierusalimschy
fd22ccd6d0
object tag keeps variant bits too -> no need for 'isC' field in
...
Closures + more strick typing for closure variants
2012-01-20 20:05:50 -02:00
Roberto Ierusalimschy
76eab106df
bug: Lexical gets confused with some combination of arithmetic
...
operators and hexadecimal numbers
2012-01-20 16:35:36 -02:00
Roberto Ierusalimschy
81ed85ecfb
BUG: memory hoarding when creating Lua hooks for coroutines
...
BUG: Lexical gets confused with some combination of arithmetic
operators and hexadecimal numbers
2012-01-20 16:32:13 -02:00
Roberto Ierusalimschy
7dcc02b165
BUG: coroutine hooks were not collected together with coroutine
2012-01-19 18:14:44 -02:00
Roberto Ierusalimschy
e2fc2ce8df
new way to handle -E option (write a mark in the registry to avoid
...
reading environment variables)
2011-12-12 14:34:03 -02:00
Roberto Ierusalimschy
a241b6cb3c
removed redundant definition for FILEHANDLE
2011-12-08 10:11:37 -02:00
Roberto Ierusalimschy
f0d143f30f
avoid a few warnings (casts)
2011-12-07 16:03:47 -02:00
Roberto Ierusalimschy
c82087b8dd
cast from 'bool' to 'int' (for C++)
2011-12-07 12:43:55 -02:00
Roberto Ierusalimschy
138be5b843
no more explicit support for 'luaall_c': unifying file can do
...
the work
2011-12-06 14:58:36 -02:00
Roberto Ierusalimschy
e320b5b672
small bug: format '%d' for lua_Number argument
2011-12-06 14:33:55 -02:00
Roberto Ierusalimschy
ca9c405fef
some compilers (e.g., gcc C++) do not accept NULL as a pointer in
...
that context
2011-12-02 11:26:54 -02:00
Roberto Ierusalimschy
e2feb886d6
macro 'luaL_getmetatable' seems more appropriate when getting
...
metatables in registry
2011-12-02 11:25:57 -02:00
Roberto Ierusalimschy
5999e14ad9
old error messages may be misleading
2011-12-02 11:23:56 -02:00
Roberto Ierusalimschy
01747f2c24
error message: "tag method" -> "metamethod"
2011-12-02 11:18:41 -02:00
Roberto Ierusalimschy
7377fbdebc
function prototype did not match one in .h
2011-11-30 17:30:16 -02:00
Roberto Ierusalimschy
f1d2ac3a98
allow non-integer arguments to integer formats (%d, %x, etc.),
...
but check range
2011-11-30 16:24:56 -02:00
Roberto Ierusalimschy
c5da4f4cd0
unused variable removed
2011-11-30 11:03:24 -02:00
Roberto Ierusalimschy
7bcb2462e4
comments
2011-11-30 10:58:57 -02:00
Roberto Ierusalimschy
0bd99b327b
avoid "unreachable" 'break'
2011-11-30 10:44:26 -02:00
Roberto Ierusalimschy
6d8b672094
more uses of 'l_noret'
2011-11-30 10:43:51 -02:00
Roberto Ierusalimschy
e21b26a964
avoid 'return' "to avoid warnings"
2011-11-30 10:42:49 -02:00
Roberto Ierusalimschy
0f388193b3
'lUA' -> 'LUA'
2011-11-30 10:35:05 -02:00
Roberto Ierusalimschy
7948b8568e
when available, use '*_r' versions of 'gmtime' and 'localtime'
2011-11-29 15:15:42 -02:00
Roberto Ierusalimschy
61b1d9a466
another try to avoid warnings about unreachable 'return' after 'exit'
2011-11-29 13:55:51 -02:00
Roberto Ierusalimschy
3617e04e97
'lua_load' has an extra argument 'mode'
2011-11-29 13:55:08 -02:00
Roberto Ierusalimschy
8c62bde36f
comment
2011-11-29 13:54:38 -02:00
Roberto Ierusalimschy
51650eac78
small change to avoid warnings of non-specified order of access
...
to volatile fields
2011-11-29 13:39:48 -02:00
Roberto Ierusalimschy
aea68e5c54
explicit option RTLD_LOCAL instead of 0 (Posix does not fix
...
a default for dlopen)
2011-11-28 15:27:51 -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
217b65e6d9
avoid some warnings about converting 32-bit shifts into 64-bit results
2011-11-28 15:25:48 -02:00
Roberto Ierusalimschy
8119374e74
avoid warnings of unreacheable 'break's
2011-11-28 15:25:16 -02:00
Roberto Ierusalimschy
3a997eefb5
MS_ASMTRICK is only valid on MS compilers (not any Windows compiler)
2011-11-25 10:52:27 -02:00
Roberto Ierusalimschy
5184ff2096
'LUA_DL_DLL' is not yet defined before the inclusion of 'lua.h'
2011-11-25 10:52:03 -02:00
Roberto Ierusalimschy
b0cbe77816
'_fseeki64' and family not available in all Windows platforms
2011-11-25 10:50:03 -02:00
Roberto Ierusalimschy
6e899850b9
details
2011-11-24 11:25:41 -02:00
Roberto Ierusalimschy
fded7bef19
options for 'collectgarbage' renamed: "inc" -> "incremental";
...
"gen" -> "generational"
2011-11-23 15:29:04 -02:00
Roberto Ierusalimschy
b5d7255034
small changes to avoid some warnings
2011-11-16 16:51:36 -02:00
Roberto Ierusalimschy
6cce5c0601
new function 'luaL_loadfilex'
2011-11-14 15:10:24 -02:00
Roberto Ierusalimschy
eb70f58279
'luaIO_Stream' -> 'luaL_Stream'
2011-11-14 14:55:35 -02:00
Roberto Ierusalimschy
ef900f224c
strutcture for file handles exported in 'lauxlib.h'
2011-11-11 17:59:17 -02:00
Roberto Ierusalimschy
3105febf9a
using Lua buffers to build error messages
2011-11-10 09:42:58 -02:00
Roberto Ierusalimschy
7133e20c94
make treatment of 'pcall' and 'xpcall' more similar
2011-11-09 17:38:00 -02:00
Roberto Ierusalimschy
888d39ea75
refactoring of common parts of 'pcall' and 'xpcall' + avoids
...
stack errors on these functions (return error code instead)
2011-11-09 17:28:27 -02:00
Roberto Ierusalimschy
eef22fa4ce
create error messages with a single concat, to avoid problems with
...
creating strings piecemeal
2011-11-09 17:11:20 -02:00
Roberto Ierusalimschy
eda87f1156
in 'luaL_checkstack', include extra stack space in test to allow
...
correct execution of error routines, if necessary
2011-11-09 17:08:55 -02:00
Roberto Ierusalimschy
e0e406ead3
extra argument to instruction 'checkstack' (in 'testC')
2011-11-09 17:08:07 -02:00
Roberto Ierusalimschy
30cea671a7
configurable 'directory separator' in 'package.searchpath'
2011-11-09 13:18:04 -02:00
Roberto Ierusalimschy
a716ae1f50
avoids including 'stdio.h' everywhere (because of definitions for
...
luai_writestring/luai_writeline)
2011-11-09 12:47:14 -02:00
Roberto Ierusalimschy
ea382b0be1
small bug: error message in 'io.lines' is not the error number
2011-11-09 12:10:43 -02:00
Roberto Ierusalimschy
6d8d282e0f
avoid calling "extra value" as if it were a function option
2011-11-06 11:59:12 -02:00
Roberto Ierusalimschy
00c8a17a2d
by default, do not use Windows' goodies in Windows CE build
2011-11-05 13:29:05 -02:00
Roberto Ierusalimschy
166ce15512
cannot apply macro 'getstr' over NULL
2011-10-31 15:48:51 -02:00
Roberto Ierusalimschy
87cf2bf711
extra comments about what fields are optional debug information
2011-10-31 15:48:22 -02:00
Roberto Ierusalimschy
fd8a849621
detail (avoid applying macro 'getstr' with a function-call argument)
2011-10-31 15:46:04 -02:00
Roberto Ierusalimschy
5a568a3b01
detail (comment)
2011-10-25 10:01:20 -02:00
Roberto Ierusalimschy
475e6c5352
'lua_setglobal/lua_getglobal' implemented as functions to avoid
...
problems with stack indices
(e.g., lua_getglobal(L, lua_tostring(L, -1)) )
2011-10-24 14:53:05 -02:00
Roberto Ierusalimschy
af00a0772c
new functions lua_rawsetp/lua_rawgetp
2011-10-24 12:54:05 -02:00
Roberto Ierusalimschy
6819c2a98a
silly bug in 5.2 beta: assignment conflict code did not test to check
...
whether variable was a table element
2011-10-24 12:51:44 -02:00
Roberto Ierusalimschy
1dd8af67b6
BUG: parser may collect a prototype while building it.
2011-10-21 17:34:23 -02:00
Roberto Ierusalimschy
1350a2bcb5
more macros to try to make NaN trick work with other sizes of
...
IEEE float numbers. (It has not been tested with such different
sizes...)
2011-10-17 12:46:13 -02:00
Roberto Ierusalimschy
217e67cb22
new type 'l_noret' for function that do not return
2011-10-07 17:45:19 -03:00
Roberto Ierusalimschy
9bbfe9f3fd
avoid the word 'TRICKLE' in macro name (as it has nothing to do
...
with its meaning)
2011-10-07 16:53:05 -03:00
Roberto Ierusalimschy
788a0ecd27
'luaC_separateudata' renamed to 'separatetobefnz' and called only
...
from 'lgc.c'
2011-10-03 14:54:25 -03:00
Roberto Ierusalimschy
6d86b937e4
'luaC_separateudata' called from 'luaC_freeallobjects' + removed
...
extra 'luaF_close' (already being called by 'close_state')
2011-10-03 14:54:25 -03:00
Roberto Ierusalimschy
bc90cf4b83
retraverse all gray lists together to avoid traversing some weak
...
tables twice (as they may change lists when traversed)
2011-10-03 13:22:05 -03:00
Roberto Ierusalimschy
d79190e27f
missing 'LUA_CORE' definition
2011-10-03 13:19:23 -03:00
Roberto Ierusalimschy
9caf5b4f79
lint (unused definition)
2011-09-30 09:46:06 -03:00
Roberto Ierusalimschy
50cddefeeb
lint (wrong identation)
2011-09-30 09:45:45 -03:00
Roberto Ierusalimschy
e24f1ee9ff
lint (unreachable code)
2011-09-30 09:44:45 -03:00
Roberto Ierusalimschy
f3b0eb3ecf
lint (unused macros)
2011-09-30 09:44:19 -03:00
Roberto Ierusalimschy
162ce8256e
lint (unused struct field)
2011-09-30 09:43:54 -03:00
Roberto Ierusalimschy
ad90447eb6
detail: new macros for non-valid values
2011-09-26 17:17:27 -03:00
Roberto Ierusalimschy
87912786af
dead objects are not collectable.
2011-09-24 18:12:01 -03:00
Roberto Ierusalimschy
5645a84368
detail about 'trick' function (nil turn it off)
2011-09-24 18:11:29 -03:00
Roberto Ierusalimschy
95ed6c1127
better(?) scheme for cleaning weak tables; all ressurected objects
...
are removed from weak values before finalization
2011-09-24 18:00:40 -03:00
Roberto Ierusalimschy
12ab78aca6
detail in extra trace code: total bytes is given by 'gettotalbytes',
...
not by 'totalbytes' counter.
2011-09-20 16:25:23 -03:00
Roberto Ierusalimschy
45c346645c
avoid clearing ephemeron tables that have nothing to be cleaned
...
(no white elements)
2011-09-19 14:03:38 -03:00
Roberto Ierusalimschy
68ce878292
cannot compute 'mainposition' before checking whether key is nil
2011-09-15 14:09:02 -03:00
Roberto Ierusalimschy
500336efd0
small bug in if-goto optimization: block must be closed ('leaveblock')
...
*before* the jump out ('escapelist')
2011-09-14 14:40:26 -03:00
Roberto Ierusalimschy
5ea8f108e1
using 'long' versions of 'fseek'/'ftell' when available
2011-09-13 18:09:04 -03:00
Roberto Ierusalimschy
2275030b86
details (and missing 'break's)
2011-09-13 15:05:59 -03:00
Roberto Ierusalimschy
05de314701
upvalue names always can be NULL (if debug info was removed), so
...
always check for that case
2011-09-13 14:40:20 -03:00
Roberto Ierusalimschy
d281d23f8d
detail (make 'lua_assert' a valid expression even when turned off)
2011-09-13 14:39:23 -03:00
Roberto Ierusalimschy
ec431ce5db
comment
2011-09-12 17:33:03 -03:00
Roberto Ierusalimschy
c8f47c2934
optimization for |if cond then goto|
2011-08-30 13:38:58 -03:00
Roberto Ierusalimschy
ca458f1f52
'luaK_goiffalse' exported
2011-08-30 13:26:41 -03:00
Roberto Ierusalimschy
121dc8af66
cleaner code for 'if' construct
2011-08-25 10:45:24 -03:00
Roberto Ierusalimschy
a8675966ec
detail: centralize all tests for Windows on variable 'LUA_WIN'
2011-08-23 14:25:42 -03:00
Roberto Ierusalimschy
3dc5475e23
'nCcalls' should be local to each thread, as each thread may have its
...
own C stack (with LuaThreads or something similar)
2011-08-23 14:24:34 -03:00
Roberto Ierusalimschy
8a008a2057
bug: __newindex metamethod may not work if metatable is its own
...
metatable.
2011-08-17 17:38:51 -03:00
Roberto Ierusalimschy
89b59eee73
bug: __newindex metamethod may not work if metatable is its own
...
metatable + luaV_settable does not create entry when there is a
metamethod (and therefore entry is useless)
2011-08-17 17:26:47 -03:00
Roberto Ierusalimschy
166dd0261a
new option '-E' to avoid environment variables
2011-08-17 17:19:52 -03:00
Roberto Ierusalimschy
51471ba748
comments about use of 'luaH_set'
2011-08-15 16:41:58 -03:00
Roberto Ierusalimschy
0b65cb74cd
new implementation for 'getobjname': first search for relevant
...
instruction (new function 'findsetreg') and then try to build
a meaningful name
2011-08-12 17:01:44 -03:00
Roberto Ierusalimschy
ea46b750dc
comment
2011-08-11 14:06:12 -03:00
Roberto Ierusalimschy
92afcf2823
no more 'luaH_setstr (used only once) + 'luaH_setint' receives value
...
to be set.
2011-08-09 17:58:29 -03:00
Roberto Ierusalimschy
b5bf7d9ef4
'string.format' checks whether values for integer formats are
...
actually integers
2011-08-09 17:58:29 -03:00
Roberto Ierusalimschy
6a5d89b39f
detail (using array instead of several variables to keep track of
...
enabled command-line options)
2011-08-04 15:16:16 -03:00
Roberto Ierusalimschy
ae14adc272
better error message when trying to open files
2011-08-02 15:00:01 -03:00
Roberto Ierusalimschy
ff98f17d27
detail: factoring in common code for opening files and checking for
...
errors
2011-07-28 15:41:15 -03:00
Roberto Ierusalimschy
59bcd137ae
reducing even more use of C stack by the parser: struct 'FuncState'
...
does not need field 'L' + number of labels/gotos in a chunk may be
limited to SHRT_MAX. (Also removed some non-needed 'unsigned's.)
2011-07-27 15:09:01 -03:00
Roberto Ierusalimschy
5ab6d36d99
no more field 'L' in 'FuncState'
2011-07-27 15:07:37 -03:00
Roberto Ierusalimschy
43c873895f
tonumber: base 10 is not special, no base is
2011-07-27 09:14:06 -03:00
Roberto Ierusalimschy
03a078493e
refuse things like 'inf' or 'Nan' as numerals
2011-07-27 09:13:08 -03:00
Roberto Ierusalimschy
bae57ea088
'M_IX86' -> '_M_IX86'
2011-07-25 14:20:47 -03:00
Roberto Ierusalimschy
2557107e91
removed unused variable 'found' (in 'findfield') + removed legacy
...
test for 'what' being "tail"
2011-07-25 14:18:49 -03:00
Roberto Ierusalimschy
32a12e2f3f
detail (cleaned whitespaces at end of lines)
2011-07-15 09:50:29 -03:00
Roberto Ierusalimschy
559bb554c9
no more 'zungetc' (better not to read next char)
2011-07-15 09:48:03 -03:00
Roberto Ierusalimschy
fd5e810e08
macro 'char2int' replaced by 'cast_uchar' (used by other files)
2011-07-15 09:35:32 -03:00
Roberto Ierusalimschy
067f761739
better code for numerical escapes
2011-07-15 09:30:41 -03:00
Roberto Ierusalimschy
7978a8d8b2
added '_M_IX86' in NaN trick
2011-07-08 17:07:11 -03:00
Roberto Ierusalimschy
32e09c2a16
detail
2011-07-08 17:01:38 -03:00
Roberto Ierusalimschy
df19931ddc
error on invalid escape sequences
2011-07-08 16:17:30 -03:00
Roberto Ierusalimschy
b5084fdafe
detail (comment)
2011-07-06 13:45:14 -03:00
Roberto Ierusalimschy
d8200d5f3c
'\*' -> '\z' + '\?' is not an official escape sequence
2011-07-05 16:13: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
9e89a55a4f
NILCONSTANT also depends no endianess (with NaN trick)
2011-07-04 17:29:02 -03:00
Roberto Ierusalimschy
b707e81c3d
comments about some compiler options that should be tested once in a while
2011-07-04 13:10:15 -03:00
Roberto Ierusalimschy
ee37ee50d6
'table.pack' also returns 'n' + 'deprecated' changed to 'removed'
2011-07-02 13:01:44 -03:00
Roberto Ierusalimschy
ad1a54b5c0
reordering of some defines (more logical grouping)
2011-07-02 13:00:15 -03:00
Roberto Ierusalimschy
88c29c0cd5
compilation warning about integer size x pointer size
2011-07-02 12:59:17 -03:00
Roberto Ierusalimschy
d93df22bf6
small simplifications (and assert was wrongly written)
2011-07-02 12:58:14 -03:00
Roberto Ierusalimschy
5017cc6ba2
simpler 'luai_apicheck' (and avoids compilation error...)
2011-07-02 12:57:25 -03:00
Roberto Ierusalimschy
2f125ebc33
'deprecated' x 'removed' (they are not the same thing)
2011-07-02 12:56:43 -03:00
Roberto Ierusalimschy
49a01c0991
'package.loaders' -> 'package.searchers'
2011-06-28 14:14:12 -03:00
Roberto Ierusalimschy
17526ed2fe
no more errors on accesses to 'string' and strings
2011-06-28 14:13:52 -03:00
Roberto Ierusalimschy
f180822fa6
back to internal table for 'ctype', no more locale manipulation
2011-06-28 12:42:04 -03:00
Roberto Ierusalimschy
594220c624
use standard "underscore + uppercases" for reserved keys in the registry
2011-06-27 16:42:31 -03:00
Roberto Ierusalimschy
3dd68624dc
comments
2011-06-27 15:27:18 -03:00
Roberto Ierusalimschy
f9eea453b7
avoid "magic constant" 32 (the difference from 'A' to 'a')
2011-06-27 15:22:46 -03:00
Roberto Ierusalimschy
374773748b
back to "one-label-per-block"
2011-06-27 15:18:59 -03:00
Roberto Ierusalimschy
29644366fc
useless assignments removed (macros already do the assignment)
2011-06-24 11:36:21 -03:00
Roberto Ierusalimschy
6eadedbfa1
resort to standard C ctype for non-ASCII systems + 'ltoupper' replaced
...
by 'ltolower'
2011-06-24 09:25:33 -03:00
Roberto Ierusalimschy
1978094b3a
resort to standard C ctype for non-ASCII systems
2011-06-24 09:25:33 -03:00
Roberto Ierusalimschy
5acc5b0c1e
using 'tolower' instead of 'toupper' (slightly simpler to implement)
2011-06-24 09:25:02 -03:00
Roberto Ierusalimschy
59547c6cda
macro 'ltoupper' instead of 'lisupper' (more usefull for Lua)
2011-06-23 13:01:06 -03:00
Roberto Ierusalimschy
3d3355b4f3
label syntax changed to '::label::'
2011-06-23 11:54:48 -03:00
Roberto Ierusalimschy
801f43f09a
change in the representation of file handles
2011-06-21 10:43:48 -03:00
Roberto Ierusalimschy
719c01359f
label syntax changed to '::label::'
2011-06-20 13:52:48 -03:00
Roberto Ierusalimschy
43f13729a2
comment
2011-06-20 13:50:59 -03:00
Roberto Ierusalimschy
136f8e148d
added cast to void to calls to 'setlocale' (to easy redefining it as
...
a constant)
2011-06-20 13:36:03 -03:00
Roberto Ierusalimschy
f90a130b07
typo in message
2011-06-20 13:35:23 -03:00
Roberto Ierusalimschy
cb4950a6d8
parser must work with C locale, but external locale must be preserved
2011-06-18 14:08:58 -03:00
Roberto Ierusalimschy
fdede85419
label names must be unique inside a function
2011-06-16 13:36:39 -03:00
Roberto Ierusalimschy
beab626061
correct length for LUA_COPYRIGHT (without trailing '\0')
2011-06-16 11:30:58 -03:00
Roberto Ierusalimschy
817f8674af
avoid warning about -unsigned value
2011-06-16 11:14:31 -03:00
Roberto Ierusalimschy
cf0562e1e7
detail (missing cast to unsigned char when converting char to int)
2011-06-16 11:13:22 -03:00
Roberto Ierusalimschy
22e1c5ebad
avoid conversion from 'const char*' to 'void *' (warning about 'const')
2011-06-16 11:12:24 -03:00
Roberto Ierusalimschy
470dd56a89
'os.execute' (and similars) should return 'exit' and code in case
...
of success, too.
2011-06-16 11:11:04 -03:00
Roberto Ierusalimschy
20d30bcd33
declarations should be present only when implementations are
2011-06-16 11:10:12 -03:00
Roberto Ierusalimschy
44b6f496b5
just in case, avoid side effects in 'ctype' macros
2011-06-15 11:35:55 -03:00
Roberto Ierusalimschy
fd80e63468
configuration for NaN trick big-endian + macro 'luai_checknum' to
...
ensure numbers comming from C are not "improper" (some kinds of
signaling NaNs)
2011-06-13 11:13:06 -03:00
Roberto Ierusalimschy
f62565abea
avoid warnings with -Wstrict-overflow
2011-06-09 15:24:22 -03:00
Roberto Ierusalimschy
c9d1d9f9c6
better way to test overflows with string indices
2011-06-09 15:22:47 -03:00
Roberto Ierusalimschy
35391d9b1a
macro 'NNMARK' (mark for non-number values using the NaN trick)
2011-06-09 15:21:25 -03:00
Roberto Ierusalimschy
99b1b8e918
first version with 'NANTRICK' (packing all Lua values inside a 'double')
2011-06-07 16:02:33 -03:00
Roberto Ierusalimschy
3b44821334
stricter control (using tag variants) over closure kinds (Lua x C)
2011-06-02 16:31:40 -03:00
Roberto Ierusalimschy
0214dab989
yet another macro ('num_')
2011-05-31 16:15:01 -03:00
Roberto Ierusalimschy
821bd7025e
more uniform names for 'equalobj'-related functions
2011-05-31 15:27:56 -03:00
Roberto Ierusalimschy
9b7dddad7d
no need for two different implementations for equality (one raw and
...
one with metamethods)
2011-05-31 15:24:36 -03:00
Roberto Ierusalimschy
3f04a9f2c0
code is simpler without 'goto' here
2011-05-30 13:36:38 -03:00
Roberto Ierusalimschy
2a59a999d4
yet another macro abstracting TValue representation
2011-05-26 14:12:31 -03:00
Roberto Ierusalimschy
ee7d0c2649
new macro 'luai_writeline' to print newlines (and flush 'stdout')
2011-05-26 13:09:40 -03:00
Roberto Ierusalimschy
aa13c591f5
avoid use of 'ifdef/ifndef'; use 'defined' instead (simpler and
...
more powerful)
2011-05-25 11:12:28 -03:00
Roberto Ierusalimschy
6c8a32217a
changes by lhf (better control of chars x bytes)
2011-05-17 09:42:43 -03:00
Roberto Ierusalimschy
cb09f4fef4
details
2011-05-06 13:00:23 -03:00
Roberto Ierusalimschy
3cf1729a02
new macro 'lua_longassert' that is equivalent to an assertion without
...
a stringfication of the condition, to avoid too long string literals
(limited by C90 to ~510 characters)
2011-05-05 16:43:14 -03:00
Roberto Ierusalimschy
74b0bb3a45
macro 'checkconsistency' moved to this file, as it is used only
...
here
2011-05-05 16:42:25 -03:00
Roberto Ierusalimschy
e4076fe6d9
break long assertion in two shorter ones
2011-05-05 13:18:53 -03:00
Roberto Ierusalimschy
81952e6884
avoid using expression as argument to unsafe macro 'l_isfalse'
2011-05-05 13:16:33 -03:00
Roberto Ierusalimschy
25b4e35ee8
new macros abstracting TValue representation (to easy change to
...
other representations)
2011-05-05 12:53:23 -03:00
Roberto Ierusalimschy
7e1facaa4e
detail in assertion
2011-05-04 14:04:06 -03:00
Roberto Ierusalimschy
ad2531a0ee
more complete (and hopefuly more correct) handling of 'sizeof(char)'
2011-05-03 13:01:57 -03:00
Roberto Ierusalimschy
bc1c718cc0
removed TOKEN_LEN (useless)
2011-05-03 12:51:16 -03:00
Roberto Ierusalimschy
c9ce754e38
comment
2011-05-02 14:33:01 -03:00
Roberto Ierusalimschy
d34271fe42
MacOS 'strtod' handles hexa formats too
2011-04-29 10:56:28 -03:00
Roberto Ierusalimschy
d120ec29ca
bug in OP_SELF when method name goes to a register
2011-04-28 11:00:11 -03:00
Roberto Ierusalimschy
2aff901c93
Mac OS defines LUA_USE_AFORMAT and LUA_USE_LONGLONG by default
2011-04-20 15:25:54 -03:00
Roberto Ierusalimschy
bad231c481
'LUA_USELONGLONG' -> 'LUA_USE_LONGLONG'
2011-04-20 13:36:28 -03:00
Roberto Ierusalimschy
a2b1c279f1
'LUA_USELONGLONG' on by default on Linux + LUA_USE_HEXAFLOAT renamed
...
to LUA_USE_STRTODHEX (as Lua 5.2 always *uses* hexa floats)
2011-04-19 15:31:30 -03:00
Roberto Ierusalimschy
2f128c5130
'luaL_setfuncs' does not need to accept a NULL list. (If there is
...
no list, there is no reason to call this function.)
2011-04-19 15:29:41 -03:00
Roberto Ierusalimschy
4758113043
change in opcode OP_LOADNIL: B is used as a counter instead of a
...
register. (Avoids an assignment to R(B), not present in any other
instruction.)
2011-04-19 13:22:13 -03:00
Roberto Ierusalimschy
a4e644add2
small bug (masked by wrong entry for OP_TEST in opcodes.c)
2011-04-18 16:49:13 -03:00
Roberto Ierusalimschy
05ca63642b
added macro for code checking
2011-04-18 16:48:53 -03:00
Roberto Ierusalimschy
f17e3624ef
local function name only visible to debug info after being initialized
2011-04-18 16:48:24 -03:00
Roberto Ierusalimschy
2e9b8476ca
detail ('luai_apicheck' should be used always through macro 'api_check')
2011-04-18 12:02:37 -03:00
Roberto Ierusalimschy
c31f4946e9
copyright updated to 2011
2011-04-18 11:15:48 -03:00
Roberto Ierusalimschy
c86586e866
small corrections in description of OP_TEST and OP_LOADKX
2011-04-12 14:27:35 -03:00
Roberto Ierusalimschy
19fbdf6cae
'luaL_findtable' -> 'luaL_getsubtable'
2011-04-08 16:17:36 -03:00
Roberto Ierusalimschy
427ee519db
new instruction OP_LOADKX (to replace OP_LOADK with extra argument)
2011-04-07 15:14:12 -03:00
Roberto Ierusalimschy
a958b711f5
cleaner scheme of bits for variant types (light C functions) and
...
collectable types
2011-04-07 13:11:57 -03:00
Roberto Ierusalimschy
1ffdd0bc7a
detail (should use macro 'ttisdeadkey')
2011-04-05 15:32:28 -03:00
Roberto Ierusalimschy
5286650894
new macro 'ttisequal'
2011-04-05 15:32:06 -03:00
Roberto Ierusalimschy
0fb1644c60
2nd operand for unary tag methods does not need to be 'nil'
2011-04-05 11:26:23 -03:00
Roberto Ierusalimschy
119d5e46d5
lua_arith gets no fake operand for unary minus
2011-04-05 11:26:23 -03:00
Roberto Ierusalimschy
83abbac946
all names used internally by macros end with '_'
2011-04-05 11:24:07 -03:00
Roberto Ierusalimschy
a25416a8d5
use of 'luaL_tolstring' for option '%s' in 'string.format'
2011-03-18 16:02:33 -03:00
Roberto Ierusalimschy
682cce3813
macro 'mark' renamed 'EOFMARK' ('mark' is too easy to confict, e.g.
...
in alllua.c)
2011-03-14 12:39:42 -03:00
Roberto Ierusalimschy
d806710ab5
returns for file-related functions and process-related functions
...
unified in 'auxlib'
2011-03-03 13:34:46 -03:00
Roberto Ierusalimschy
e049abb69a
loaders receive an extra argument returned by the searcher
...
(typically the file name)
2011-03-01 14:01:53 -03:00
Roberto Ierusalimschy
98816d0ce5
small problems with 'luaone.c'
2011-02-28 14:32:10 -03:00
Roberto Ierusalimschy
7482e8f914
no need of lookahead in Zio
2011-02-23 10:13:10 -03:00
Roberto Ierusalimschy
03b769053a
correct interpretation of return value from pclose
2011-02-21 16:12:54 -03:00
Roberto Ierusalimschy
3c710f056b
small bug: may call reader function again after it returned end
...
of input
2011-02-17 15:34:16 -02:00
Roberto Ierusalimschy
c0a865fa54
error for repeated label + jumps allowed to labels followed by
...
'no-op' statements
2011-02-14 14:36:34 -02:00
Roberto Ierusalimschy
0009ac1f3a
'break' does not need to be last statement in a block +
...
'explist1' -> 'explist' + moving a few functions around
2011-02-14 12:59:28 -02:00
Roberto Ierusalimschy
7b968bb514
p-close returns "correct" status plus type of termination
2011-02-10 13:35:50 -02:00
Roberto Ierusalimschy
bf8b08295a
'break' coded as 'goto' + small bug when closing multiple gotos
...
to the same label
2011-02-10 12:50:41 -02:00
Roberto Ierusalimschy
3f5b56c48b
simpler code for repeat-until
2011-02-09 15:03:18 -02:00
Roberto Ierusalimschy
e7192dfdbb
corrected 'follow' for checking whether label is last statement
...
in a block
2011-02-09 14:51:28 -02:00
Roberto Ierusalimschy
0539f48661
small changes in goto-related error messages
2011-02-09 12:45:19 -02:00
Roberto Ierusalimschy
e7a9c45a48
trying to avoid assumption that sizeof(char)==1
2011-02-07 17:15:24 -02:00
Roberto Ierusalimschy
fd6c1f4898
ensures that all local variables are declared inside some block,
...
opening a new block at 'open_func'
2011-02-07 17:00:30 -02:00
Roberto Ierusalimschy
f079749287
some reorganization of dynamic data structures used by the parser
2011-02-07 15:14:50 -02:00
Roberto Ierusalimschy
f8d677f94c
no more 'OP_CLOSE' instructions (use jumps to close upvalues)
2011-02-07 10:28:27 -02:00
Roberto Ierusalimschy
094a7d0290
detail in 'print_usage'
2011-02-07 10:27:13 -02:00
Roberto Ierusalimschy
7cc0e63d8a
first implementation of 'goto'
2011-02-04 15:34:43 -02:00
Roberto Ierusalimschy
a4a8914c20
new reserved word 'goto'
2011-02-02 12:55:17 -02:00
Roberto Ierusalimschy
06c7efb4a9
avoid extra increment to 'savedpc' when jumping
2011-02-01 16:32:55 -02:00
Roberto Ierusalimschy
dd547c55c8
new scheme to close upvalues in 'break'; jump instructions may
...
do the close, avoiding the need for a OP_CLOSE instruction
2011-02-01 16:03:10 -02:00
Roberto Ierusalimschy
f6bd8b1147
better control for GC running or stopped
2011-02-01 14:52:38 -02:00
Roberto Ierusalimschy
a7faa557fa
bug: problem with optimizations of short-circuit logic
2011-01-31 12:52:32 -02:00
Roberto Ierusalimschy
026a7e92be
bug in some short-circuit optimizations
2011-01-31 12:28:41 -02:00
Roberto Ierusalimschy
c4ea0c3b29
detail (cleaning trailing spaces)
2011-01-26 14:30:02 -02:00
Roberto Ierusalimschy
7106c491dd
'sep' argument to 'string.rep' + 'string.rep' preallocates entire
...
buffer before creating resulting string
2011-01-12 18:36:01 -02:00
Roberto Ierusalimschy
a10d495b18
'luaL_findtable' returns boolean about whether it created a new
...
table (to easy initializing table)
2011-01-10 13:51:42 -02:00
Roberto Ierusalimschy
c2e3cc4c89
using 'luaL_findtable' to manage hook table
2011-01-10 13:51:19 -02:00
Roberto Ierusalimschy
67feed49f1
optional argument 'sep' to 'searchpath'
2011-01-07 16:54:49 -02:00
Roberto Ierusalimschy
b63b0928cf
prototype for 'luaO_ceillog2' was different from definition
2011-01-07 13:46:27 -02:00
Roberto Ierusalimschy
511679313f
new function 'rawlen'
2011-01-07 10:41:48 -02:00
Roberto Ierusalimschy
868ff40339
full collection does not restart collector + avoid changing GC
...
state if an error happens in a step
2010-12-29 16:00:23 -02:00
Roberto Ierusalimschy
aa6faa6331
own implementation of 'tunumber', so that it works correctly with
...
numbers outside the 'int' range
2010-12-27 16:00:38 -02:00
Roberto Ierusalimschy
0b3f4e254e
more efficient hash for numbers in IEEE754 machines
2010-12-23 13:38:28 -02:00
Roberto Ierusalimschy
551b076f1c
change in the relationship between totalbytes and GCdebt - luaM_realloc_
...
is too critical to update two counters
2010-12-20 17:40:07 -02:00
Roberto Ierusalimschy
737f119187
better control for GC running or stopped
2010-12-20 16:17:46 -02:00
Roberto Ierusalimschy
8980c630bf
error when indexing strings with invalid keys
2010-12-20 15:25:36 -02:00
Roberto Ierusalimschy
8d579c5bc5
'debug.setmetatable' returns object (like 'setmetatable')
2010-12-20 15:24:15 -02:00
Roberto Ierusalimschy
d51743b0c7
removed 'newproxy'
2010-12-17 13:14:58 -02:00
Roberto Ierusalimschy
1a92c2b354
allows number of bits used by the library to be changed from outside
2010-12-17 11:26:38 -02:00
Roberto Ierusalimschy
fe0d54d37e
table library respects '#' metamethods
2010-12-17 10:15:34 -02:00
Roberto Ierusalimschy
c9af0768fc
GC does not mark dead registers inside activation record
2010-12-17 10:05:37 -02:00
Roberto Ierusalimschy
7e0caa7d61
new closures are always created on "next" register (so that GC knows
...
stack limit)
2010-12-17 10:03:41 -02:00
Roberto Ierusalimschy
a40768e5ea
new macro 'luaC_condGC' to allow extra code to be run in case
...
of GC steps
2010-12-17 10:02:29 -02:00
Roberto Ierusalimschy
4a83fe569c
comment
2010-12-15 17:13:29 -02:00
Roberto Ierusalimschy
b83b6ba015
'loadin' -> 'load'
2010-12-13 14:38:00 -02:00
Roberto Ierusalimschy
af119c8b55
official support for floating hexa numerals
2010-12-10 17:03:46 -02:00
Roberto Ierusalimschy
1aead7f553
'hexafloat' moved to 'lobject.c' (hexa conversion needs it too)
2010-12-10 12:53:15 -02:00
Roberto Ierusalimschy
75d8470f0f
new macro 'cast_uchar'
2010-12-10 11:40:22 -02:00
Roberto Ierusalimschy
81646af13b
'loadstring' deprecated; use 'load' instead
2010-12-08 10:58:04 -02:00
Roberto Ierusalimschy
233b71c092
comment
2010-12-07 09:40:42 -02:00
Roberto Ierusalimschy
ccc4fc9cf0
detection of erroneous numeric strings with \0 (such as "1\0")
2010-12-06 19:08:36 -02:00
Roberto Ierusalimschy
c79b4a97aa
using 'strspn' to skip spaces in 'tonumber'
2010-12-06 14:25:48 -02:00
Roberto Ierusalimschy
ac3afc7cd4
'printf' replaced by 'luai_writestring'
2010-12-03 15:20:50 -02:00
Roberto Ierusalimschy
350cc4bcb6
'micro' bug: when closing state, old objects are finalized (breaking
...
assertion)
2010-12-03 09:48:25 -02:00
Roberto Ierusalimschy
35931bbed4
comments
2010-12-02 17:51:15 -02:00
Roberto Ierusalimschy
12779b2b71
getlocal/setlocal can access vararg parameters
2010-11-30 15:17:51 -02:00
Roberto Ierusalimschy
7ca1bd639f
new functions 'extract' and 'replace'
2010-11-29 13:19:28 -02:00
Roberto Ierusalimschy
9b7a12c46d
finalizers (__gc) for tables
2010-11-26 12:32:31 -02:00
Roberto Ierusalimschy
5b33e39855
removed deprecated functions getn-foreach-foreachi
2010-11-23 15:21:14 -02:00
Roberto Ierusalimschy
a64cf8fac9
'test' -> 'btest'
2010-11-22 16:06:33 -02:00
Roberto Ierusalimschy
092fa71ddd
conventional names for bitwise operators
2010-11-22 14:39:20 -02:00
Roberto Ierusalimschy
a2eaad5d81
'gfind' was deprecated in 5.1
2010-11-19 14:25:51 -02:00
Roberto Ierusalimschy
54771c5afa
keep 'seminfo->ts' even for reserved words, just in case
...
(some lhf's tools need this)
2010-11-18 16:38:44 -02:00
Roberto Ierusalimschy
bcce769d29
avoid "unreacheable code" warnings
2010-11-18 16:38:27 -02:00
Roberto Ierusalimschy
24baa919c1
small bug: 'find' did not detect magic chars after a \0 in a pattern
...
and did a plain search in those cases
2010-11-16 18:39:41 -02:00
Roberto Ierusalimschy
d1c0efdb7d
comment about compatibility-only functions
2010-11-16 17:20:01 -02:00
Roberto Ierusalimschy
566758de79
'getuservalue' accepts any type of argument
2010-11-16 16:01:28 -02:00
Roberto Ierusalimschy
50334faad6
no more compatibility with (veryyyy) old ref system
2010-11-16 15:43:29 -02:00
Roberto Ierusalimschy
cee7a8e1ec
-DLUA_COMPAT_ALL is the default
2010-11-16 09:39:42 -02:00
Roberto Ierusalimschy
8c21f463ed
'debug' library is loaded by default
2010-11-12 13:48:30 -02:00
Roberto Ierusalimschy
a1952d9c41
'l_tvar' renamed to 'l_tg'
2010-11-12 13:47:34 -02:00
Roberto Ierusalimschy
1a46a713d2
new macro 'l_tvar' to easy the use of mathlib with other floating
...
types (float and long double)
2010-11-11 13:39:12 -02:00
Roberto Ierusalimschy
23b9ceb0a4
allows larger array parts in tables (no need to restrict it to 2^26)
2010-11-11 13:38:43 -02:00
Roberto Ierusalimschy
0a6a6b9d9d
no more sentinel to detect loops in module dependencies;
...
usual message for infinite recursion is good enough.
2010-11-10 18:00:04 -02:00
Roberto Ierusalimschy
1b54197491
better error message when light userdata is used instead of a
...
full userdata
2010-11-10 16:06:10 -02:00
Roberto Ierusalimschy
c97aa9485c
new function 'luaL_setmetatable'
2010-11-10 16:05:36 -02:00
Roberto Ierusalimschy
e885b91326
'luaL_typeerror' deprecated
2010-11-10 15:38:10 -02:00
Roberto Ierusalimschy
fa1f724378
when reading blocks with given size, try to read whole block
...
at once
2010-11-09 14:57:49 -02:00
Roberto Ierusalimschy
2a966116b1
detail (message)
2010-11-09 09:04:15 -02:00
Roberto Ierusalimschy
43ec354722
added support for conditional use of %Lg when using long double
2010-11-08 15:38:37 -02:00
Roberto Ierusalimschy
700b003fb5
when reading large files, double buffer size at each iteration
2010-11-08 15:27:22 -02:00
Roberto Ierusalimschy
f722ba6890
code should not use "defined" types, but "typedef"s types when they
...
are available (i.e., after including lua.h) + small changes to make
conversions more portable across diferent types for lua_Number
(long double) and lua_Unsigned (long long unsigned)
2010-11-08 14:33:20 -02:00
Roberto Ierusalimschy
c7d4da8746
correction to allow lua_Unsigned larger than usigned int
2010-11-08 14:31:22 -02:00
Roberto Ierusalimschy
f1629217f1
code for conversion macros moved from luaconf to llimits + 'uint'
...
renamed to 'unsigned' in those macros
2010-11-03 13:16:17 -02:00
Roberto Ierusalimschy
fdd5f2f7a3
comment typos
2010-10-29 15:52:46 -02:00
Roberto Ierusalimschy
c6ef3e2672
bug: by-one error when creating short source names (luaO_chunkid)
2010-10-29 13:54:55 -02:00
Roberto Ierusalimschy
ba8dca00ac
detail (ununsed parameter)
2010-10-29 12:35:09 -02:00
Roberto Ierusalimschy
9be89a1864
'luaL_checkversion' also checks convertions (number to integer types)
2010-10-29 10:52:21 -02:00
Roberto Ierusalimschy
b9f371a3c2
added another option for ieeeendian
2010-10-29 09:13:21 -02:00
Roberto Ierusalimschy
4834de8427
comment typo
2010-10-29 09:13:14 -02:00
Roberto Ierusalimschy
94043a3a1a
more robust implementation for 'luaO_str2d'
2010-10-28 13:39:03 -02:00
Roberto Ierusalimschy
e642cc4206
correct handling of negative numbers in non-10 bases by 'tonumber'
...
(e.g., tonumber(-34, 8))
2010-10-28 13:36:30 -02:00
Roberto Ierusalimschy
da57477c3d
added more platforms for ieeeendianess + small comments
2010-10-28 13:18:25 -02:00
Roberto Ierusalimschy
f39034889d
stricter control over number of bits in each operation
2010-10-28 13:17:29 -02:00
Roberto Ierusalimschy
6b053a63cb
added check for architectures with known endianess (only i386 now)
2010-10-27 15:16:37 -02:00
Roberto Ierusalimschy
572e5e6b28
new names for bit functions (mimicking assembler)
2010-10-27 14:50:32 -02:00
Roberto Ierusalimschy
6098e06e09
better organization for coercion functions between lua_Number and
...
integer types + IEEE trick to be used in most platforms, by default
2010-10-26 17:32:19 -02:00
Roberto Ierusalimschy
c6b64ffe65
new type lua_Unsigned and corresponding projection/injection functions
2010-10-25 18:31:11 -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
1475cb59bf
version from lhf
2010-10-25 12:33:38 -02:00
Roberto Ierusalimschy
9e8e60dd5f
bitlib renamed to 'bit32' + new function for arithmetic shift
2010-10-25 12:32:36 -02:00
Roberto Ierusalimschy
d72ec210c7
POS_A replaced by POS_Ax (which is more "precise")
2010-10-25 10:24:55 -02:00
Roberto Ierusalimschy
c77baf752c
comment
2010-10-25 10:24:36 -02:00
Roberto Ierusalimschy
a122688091
better error message for 'lua -e -i'
2010-10-18 14:06:33 -02:00
Roberto Ierusalimschy
f3026c36c2
details in opcode list
2010-10-13 13:45:54 -03:00
Roberto Ierusalimschy
cd0ebd0a80
'proto->source' may be NULL (if dump strips debug information)
2010-10-11 17:24:42 -03:00
Roberto Ierusalimschy
8bc33a088c
'os.exit' acceps booleans as status (for EXIT_SUCESS and EXIT_FAILURE)
2010-10-05 09:18:03 -03:00
Roberto Ierusalimschy
c3eb89544f
'luaL_loadlib' accepts Utf8 BOM in the beginning of files
2010-10-01 15:53:00 -03:00
Roberto Ierusalimschy
ffff9a49da
'nresults' in CallInfo now refers to number of results that the current
...
function returns (and not what it expects from a call)
2010-09-30 14:21:31 -03:00
Roberto Ierusalimschy
b22356e5c5
hexadecimal constants may be floating values too
2010-09-13 18:49:58 -03:00
Roberto Ierusalimschy
a289a62717
'loadin' should not check whether upvalue is called '_ENV',
...
because its name may be unknown when there is no debug information.
2010-09-07 16:38:36 -03:00
Roberto Ierusalimschy
e3eabcf913
'lua_[gs]etupvalue' may work even without debug information
...
(that is, without upvalue names)
2010-09-07 16:35:04 -03:00
Roberto Ierusalimschy
0df2238063
name "_ENV" configurable through 'luaconf.h'
2010-09-07 16:21:39 -03:00
Roberto Ierusalimschy
6828f6d427
new parameter 'majorinc' to control frequency of major collections
...
in generational mode
2010-09-03 11:14:01 -03:00
Roberto Ierusalimschy
daa5fe3e31
'loadin' should accept any value for the environment (not only tables) +
...
it should check whether chunk has upvalue named '_ENV'
2010-08-23 15:03:11 -03:00
Roberto Ierusalimschy
8d9ea59d28
'pushclosure' -> 'codeclosure' (as there is another 'pushclosure' in
...
'lvm.c) + small detail
2010-08-23 14:32:34 -03:00
Roberto Ierusalimschy
5e7dbd0b8b
api checks to ensure that thread is OK when using lua_call/lua_pcall
2010-08-04 15:40:28 -03:00
Roberto Ierusalimschy
cd6c276e41
use index 0 for header of list of free references
2010-08-03 17:21:16 -03:00
Roberto Ierusalimschy
fd4b4a2a68
detail: registry._PRELOAD must be a table, no need to check
2010-08-02 14:14:48 -03:00
Roberto Ierusalimschy
d447945685
'module'/'luaL_register' and associates are deprecated
2010-07-28 12:51:59 -03:00
Roberto Ierusalimschy
78f9635111
several new comments
2010-07-26 12:53:23 -03:00
Roberto Ierusalimschy
8b7cf8c62d
'lua_[gs]etenv' -> 'lua_[gs]etuservalue'
2010-07-25 12:18:19 -03:00
Roberto Ierusalimschy
73b0a3451d
environment variables consulted by Lua may be version-specific
2010-07-25 12:03:37 -03:00
Roberto Ierusalimschy
85c1461422
new macros LUA_VERSION_{MAJOR/MINOR/RELEASE}
2010-07-25 12:02:41 -03:00
Roberto Ierusalimschy
5ba556d27a
using curly brackets to mark blocks of '#if/#else/#endif's
2010-07-18 11:34:45 -03:00
Roberto Ierusalimschy
81dd13f4c6
new way to distinguish between indexing tables in registers and
...
tables in upvalues (+ fixed small bug when checking conflicts in
multiple assignments)
2010-07-07 13:27:29 -03:00
Roberto Ierusalimschy
6a02bbe1e2
better organization for fields in struct 'expdesc'
2010-07-02 17:42:40 -03:00
Roberto Ierusalimschy
7631c29b2f
comand-line option '-l' creates global with given name after
...
requiring module
2010-07-02 14:36:32 -03:00
Roberto Ierusalimschy
a9dc7c8828
functions lua_tonumber/lua_tointeger replaced by lua_tonumberx/lua_tointegerx
...
that have an extra out parameter with conversion status
2010-07-02 14:35:06 -03: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
a139e2e003
old (and complex) luaL_findtable now used only in compatibility code
...
inside lauxlib.c
2010-06-30 14:40:27 -03:00
Roberto Ierusalimschy
a71c5f6f53
typo in comments
2010-06-30 11:11:17 -03:00
Roberto Ierusalimschy
d9ea6eca7c
macro 'key2tal' replaced by 'gkey' (as both were equal)
2010-06-25 09:18:10 -03:00
Roberto Ierusalimschy
ca3865cf1b
'getlocal' gets information about parameters of Lua functions
2010-06-21 13:30:12 -03:00
Roberto Ierusalimschy
bef5980744
no more support for old Mac OS systems
2010-06-18 14:23:02 -03:00
Roberto Ierusalimschy
409741e900
'what' may be NULL in 'kname'
2010-06-16 10:44:36 -03:00
Roberto Ierusalimschy
b98de30b8f
'ipair' is back
2010-06-13 16:41:34 -03:00
Roberto Ierusalimschy
9f48712c15
use ANSI versions of DLL functions in Windows
2010-06-13 16:36:17 -03:00
Roberto Ierusalimschy
bd262d591f
'coroutine' library separated from 'baselib'
2010-06-10 18:30:26 -03:00
Roberto Ierusalimschy
0d116c3ada
unused '#include' removed
2010-06-10 18:27:09 -03:00
Roberto Ierusalimschy
79f11fb2bb
back with #-comments for binary files
2010-06-09 14:53:59 -03:00
Roberto Ierusalimschy
fabe4ec487
better barrier for prototypes
2010-06-07 13:55:34 -03:00
Roberto Ierusalimschy
575074fd85
Lua closures are cached for reuse
2010-06-04 10:25:10 -03:00
Roberto Ierusalimschy
545f43065f
'luaF_newLclosure' gets prototype of new closure as argument
2010-06-04 10:06:15 -03:00
Roberto Ierusalimschy
3819c30e55
better names for barrier macros
2010-06-04 10:05:29 -03:00
Roberto Ierusalimschy
e94fac8956
bug: generational collection was not running collector! (must write
...
a test for this...)
2010-06-02 15:36:58 -03:00
Roberto Ierusalimschy
2c1a5d678d
factoring out common code in 'module' and 'luaL_openlib'
2010-05-31 13:34:19 -03:00
Roberto Ierusalimschy
bd619b9311
new macro MAXUPVAL (maximum number of upvalues per closure)
2010-05-31 13:08:55 -03:00
Roberto Ierusalimschy
aca84ee1a0
correct definition for 'lua_cpcall' (tested)
2010-05-28 11:27:07 -03:00
Roberto Ierusalimschy
5038e3c58c
corrected compatibility macro 'lua_cpcall' (untested)
2010-05-27 09:06:42 -03:00
Roberto Ierusalimschy
5a7dee0c5d
added class '%g' in patterns (for graphical characters)
2010-05-24 16:34:57 -03:00
Roberto Ierusalimschy
ddf1f2a053
GC should not run when stopped, even in hard tests
2010-05-24 16:29:46 -03:00
Roberto Ierusalimschy
e34d3c06b0
it is better to call open functions with lua_call to not mess
...
the caller stack
2010-05-20 09:57:59 -03:00
Roberto Ierusalimschy
e8a2c36909
more comments
2010-05-18 14:32:19 -03:00
Roberto Ierusalimschy
3c39a0e8cb
bug: loadfile of binary files read first character twice
2010-05-18 14:21:24 -03:00
Roberto Ierusalimschy
3d45a8eb1c
really stop collection during finalizers
2010-05-17 17:39:31 -03:00
Roberto Ierusalimschy
3d80aeab5a
lua_pushstring may reallocate the stack, making 'o' a dangling
...
pointer
2010-05-17 17:10:17 -03:00
Roberto Ierusalimschy
3811e23b32
detail (comment)
2010-05-17 15:30:27 -03:00
Roberto Ierusalimschy
12c764ed1e
semicolons now represent the empty statement
2010-05-15 10:32:02 -03:00
Roberto Ierusalimschy
e99e9a9473
patches for last two bugs (string.format and io.read)
2010-05-14 12:34:57 -03:00
Roberto Ierusalimschy
f35ac38e1d
updated depenency lists + eliminated duplication of definitions
...
for MYCFLAGS, MYLDFLAGS, and MYLIBS.
2010-05-14 12:08:10 -03:00
Roberto Ierusalimschy
058279d548
comments
2010-05-14 12:03:43 -03:00
Roberto Ierusalimschy
69ba1ac441
new "instruction" 'absindex'
2010-05-14 10:15:54 -03:00
Roberto Ierusalimschy
4a925c1552
in 'absindex', do not need to call gettop (can inline it)
2010-05-14 10:15:26 -03:00
Roberto Ierusalimschy
cf531912f2
one more macro (mvdispatch) to easy experiments with alternative
...
dispatch methods
2010-05-13 16:53:05 -03:00
Roberto Ierusalimschy
0d00729e31
detail (breaking a long line)
2010-05-13 09:03:26 -03:00
Roberto Ierusalimschy
b6e9fcbd70
use of macro ('vmcase') to format all cases in main switch of
...
'luaV_execute' (to facilitate experiences with direct threading)
2010-05-12 17:40:35 -03:00
Roberto Ierusalimschy
8554baeacf
small changes in 'luaV_execute' to make cases more regularly formatted
2010-05-12 17:31:33 -03:00
Roberto Ierusalimschy
f5b7f077ec
added comments to '#else' and '#endif' in long conditionals
2010-05-12 11:17:36 -03:00
Roberto Ierusalimschy
e924a7f9ea
new API function 'lua_absindex'
2010-05-12 11:09:20 -03:00
Roberto Ierusalimschy
4fd76b8148
avoid "strong" cast
2010-05-11 17:49:26 -03:00
Roberto Ierusalimschy
de0f51a02c
wrong type being assigned (not detected because of obj2gco macro)
2010-05-11 17:48:36 -03:00
Roberto Ierusalimschy
0567221848
udata in 'tobefnz' list be have old bit on (it will be cleared
...
when udata is moved to 'allgc' list)
2010-05-10 15:24:36 -03:00
Roberto Ierusalimschy
1c1a98e872
corrected some places where an old object could end up in front
...
of a new one + minimal documentation about this problem
2010-05-10 15:23:45 -03:00
Roberto Ierusalimschy
c006f085d9
new macro 'resetoldbit'
2010-05-10 13:46:49 -03:00
Roberto Ierusalimschy
a48e330f37
macros 'lua_number2int' and 'lua_number2uint' for Visual Studio
...
corrected and tested
2010-05-10 13:38:58 -03:00
Roberto Ierusalimschy
dcc070683c
avoid reserving LUA_RIDX_LAST slots in any table used by reference
...
system. Store free list in a field indexed by a unique name,
instead of using a numerical index.
2010-05-10 12:25:02 -03:00
Roberto Ierusalimschy
2d81cfa4e1
corrected definition of 'lua_register' (there is no LUA_ENVIRONINDEX
...
anymore)
2010-05-10 10:50:20 -03:00
Roberto Ierusalimschy
0bccf03d7e
slightly better definition for 'changenvalue'
2010-05-07 15:44:46 -03:00
Roberto Ierusalimschy
ad2b5decc8
'lua_assert' can be empty when assertions are off
2010-05-07 15:44:12 -03:00
Roberto Ierusalimschy
32c1764b5d
slightly better definition for 'isgray'
2010-05-07 15:43:51 -03:00
Roberto Ierusalimschy
de97177744
avoid 'else assert' (which may result in an empty else)
2010-05-07 15:43:24 -03:00
Roberto Ierusalimschy
fa2ddb070a
details (to avoid too long strings in assertions)
2010-05-07 15:23:17 -03:00
Roberto Ierusalimschy
0fac33da9e
bug: incremental sweep was not cleaning old bits (as it stopped in the
...
first old object) + bug: moving udata to 'udgc' list might put old
object in front a new one + some new macros + generational mode may
be in 'pause' state (it just skips 'markroot')
2010-05-07 15:19:36 -03:00
Roberto Ierusalimschy
8e1bdda66a
stupid bug when calling 'luaC_changemode' (in function lua_gc)
2010-05-07 15:10:01 -03:00
Roberto Ierusalimschy
9c1347e647
more tests in 'lua_checkmemory' + more information in function
...
'gccolor'
2010-05-07 15:09:23 -03:00
Roberto Ierusalimschy
b373a40133
new macro 'isgenerational' + new macro 'isold' + better deffinition
...
for 'isdead', compatible with the code used by 'sweeplist'
2010-05-07 15:08:05 -03:00
Roberto Ierusalimschy
25951e0ea5
some cleaning in 'sweeplist' (threads do not need to be traversed
...
if they are going to be collected + use of bit masks to unify
differences in generational and incremental modes)
2010-05-06 15:18:07 -03:00
Roberto Ierusalimschy
a4f20e3c8b
comments
2010-05-06 15:17:22 -03:00
Roberto Ierusalimschy
8c583c61a3
more tests in 'lua_checkmemory'
2010-05-06 15:16:57 -03:00
Roberto Ierusalimschy
d2ea5b00b7
new function 'luaC_changemode' +
...
bug: objects entering the 'allgc' list must have their OLDBIT cleared
(upvalues being cleared) + bug: in 'checkSizes', KGC_EMERGENCY is
stored in 'gckind' field, not in 'gcstate' + current white changes when
entering sweep phase (so there are dead objects only in that phase)
2010-05-05 15:58:36 -03:00
Roberto Ierusalimschy
d77898597e
new function 'luaC_changemode'
2010-05-05 15:53:41 -03:00
Roberto Ierusalimschy
237f755dca
typos in comments
2010-05-05 15:49:56 -03:00
Roberto Ierusalimschy
7444b5a1d5
better documentation of GC costs
2010-05-05 10:39:58 -03:00
Roberto Ierusalimschy
e7ce7e1850
changes in patch to monitor garbage collection
2010-05-04 15:10:02 -03:00
Roberto Ierusalimschy
3e662cec89
full GC must run finalizers only after finishing everything else
...
(including a return to generational mode if needed)
2010-05-04 15:09:06 -03:00
Roberto Ierusalimschy
fde866e303
details (comments)
2010-05-04 14:25:19 -03:00
Roberto Ierusalimschy
2d7a81a204
missing parentheses in declaration
2010-05-04 14:21:08 -03:00
Roberto Ierusalimschy
658ea8752b
no need to handle '\0' differently from other control chars in
...
format '%q'
2010-05-04 14:20:33 -03:00
Roberto Ierusalimschy
aa73403ba4
no need of a KGC_FORCED collection kind; it has the same behavior of
...
a normal collection
2010-05-03 14:39:48 -03:00
Roberto Ierusalimschy
0c27de2e7b
no more 'finalize' phase in GC; finalizers are called along the
...
entire cycle
2010-05-03 14:33:39 -03:00
Roberto Ierusalimschy
d25f7f9d78
items in 'tobefnz' are kept black (as before recent change) and changed
...
to white only when needed (being moved to 'allgc' when not keeping
invariant).
2010-05-03 08:55:40 -03:00
Roberto Ierusalimschy
85555646e3
invariant must be kept in atomic 'phase' too
2010-05-03 08:24:30 -03:00
Roberto Ierusalimschy
4d871ee973
"gray lists" only need to be valid when 'keepinvariant' is true
2010-04-30 15:37:14 -03:00
Roberto Ierusalimschy
b9e1dec2cb
added comment explaining a bit about the invariants of the collector
2010-04-30 15:36:45 -03:00
Roberto Ierusalimschy
dc2b8a0073
detail
2010-04-30 15:36:22 -03:00
Roberto Ierusalimschy
9a9fe42deb
wrong comment
2010-04-30 15:17:24 -03:00
Roberto Ierusalimschy
0062db1e06
default PAUSE should be 200 (differences may be corrected in
...
internal multiplers)
+ check for unbilt stack equal the one used by lgc.c
2010-04-30 11:22:23 -03:00
Roberto Ierusalimschy
23001d8607
nasty GC bug: upvalue must be turned white when not keeping invariant,
...
but barrier was not being called when uv->v were already white.
2010-04-29 18:43:36 -03:00
Roberto Ierusalimschy
5d79c6684b
removed commented-out debugging code
2010-04-29 18:42:33 -03:00
Roberto Ierusalimschy
3410dcd375
new way to control GC speed
2010-04-29 14:35:10 -03:00
Roberto Ierusalimschy
5a7a0c72d8
'luaC_linkupval' embedded into call site
2010-04-29 14:34:35 -03:00
Roberto Ierusalimschy
ee7478e884
improved 'lua_checkmemory', with better control over gray objects
2010-04-29 14:33:51 -03:00
Roberto Ierusalimschy
aaa5d7adab
'luaC_linkupval' moved into 'lfunc.c' code + new way to control GC speed
2010-04-29 14:32:40 -03:00
Roberto Ierusalimschy
3eb1788bb4
new way to control GC speed (keeping a 'debt' counter)
2010-04-29 14:31:31 -03:00
Roberto Ierusalimschy
00114a95b2
lots of new comments + small changes in loop controls + other small
...
"janitor work"
2010-04-26 14:58:00 -03:00
Roberto Ierusalimschy
4aaf0ef75c
"to-be-finalized" objects marked and sweeped like all other objects
2010-04-20 17:15:30 -03:00
Roberto Ierusalimschy
ed720d09f3
upvalue barriers for Lua functions must act on the upvalue itself,
...
not on its closure
2010-04-20 17:14:50 -03:00
Roberto Ierusalimschy
376e939ef6
missing parentheses around 'luaL_pushresultsize' declaration
2010-04-19 15:52:15 -03:00
Roberto Ierusalimschy
9d28e2b3e5
bug with io.read(op, "*n")
2010-04-19 15:04:58 -03:00
Roberto Ierusalimschy
49ca1f7083
allows thread switches (when/if there are thread switches) in the same
...
places that finalizers can run (so they should be safe...)
2010-04-19 14:58:46 -03:00
Roberto Ierusalimschy
4db6f20770
ensure that 'luai_userstatethread' is always called (even if
...
'stack_init' throws a memory error)
2010-04-19 14:40:13 -03:00
Roberto Ierusalimschy
cca71912e6
'gcinfo' was deprecated in version 5.0.
2010-04-19 14:02:02 -03:00
Roberto Ierusalimschy
8003e9544d
'string.format' may get buffer as an argument when there are
...
missing arguments and format string is too long
2010-04-19 13:39:25 -03:00
Roberto Ierusalimschy
973d81efb3
complete control over number of each kind of object allocated
2010-04-19 13:38:25 -03:00
Roberto Ierusalimschy
26d4a73962
with light C functions, 'pairs' does not need to keep 'next' as an
...
upvalue.
2010-04-19 13:36:06 -03:00
Roberto Ierusalimschy
99a39f6f4a
tells the allocation function that the first block is a thread
2010-04-19 13:34:46 -03:00
Roberto Ierusalimschy
1bb407e494
in lua_gc/step, 'luaC_step' changes GCthreshold, so there was little
...
control over the real step size.
2010-04-19 13:33:19 -03:00
Roberto Ierusalimschy
53f9499f7f
"light C function" is a better name than "C-function pointer"
2010-04-18 10:22:48 -03:00
Roberto Ierusalimschy
575befc394
comparsion tag methods follow the same rule as other binary TMs
2010-04-18 10:15:11 -03:00
Roberto Ierusalimschy
e7ffb1b501
macro LUA_USE_LONGJMP allows choosing longjmp when compiling Lua as
...
C++ code
2010-04-18 09:41:35 -03:00
Roberto Ierusalimschy
c066ac10a9
better line numbers for function calls and unary/binary operators +
...
null statement + no more "ambiguous syntax" restriction
2010-04-17 09:46:32 -03:00
Roberto Ierusalimschy
1e6940f291
'gcstate' now also runs collector until given state + small changes
...
in 'testC' to test 'lua_topointer' and 'lua_tocfunction'
2010-04-16 14:42:49 -03:00
Roberto Ierusalimschy
d8d81ba891
new escape sequence '\*' + several comments + moving options from
...
switch default into cases (as now locale is fixed)
2010-04-16 09:31:07 -03:00
Roberto Ierusalimschy
cf22133b69
no need to avoid calling ctype functions as now they are implemented
...
by us (no inefficiencies due to accessing locale information)
2010-04-15 16:44:43 -03:00
Roberto Ierusalimschy
b7be05ad27
invalid instructions "cannot" happen
2010-04-15 16:43:43 -03:00
Roberto Ierusalimschy
afdb19ac82
no more 'ccall' nor 'cpcall' functions. (With light C functions they
...
are obsolete.)
2010-04-14 12:14:21 -03:00
Roberto Ierusalimschy
7dfa4cd655
first implementation of light C functions
2010-04-14 12:13:48 -03:00
Roberto Ierusalimschy
fc6203ee43
BUG: 'string.format' may get buffer when there are missing arguments
2010-04-12 13:13:02 -03:00
Roberto Ierusalimschy
b2dd246b7a
better control in 'totalmem' over choosing counters
2010-04-12 13:07:39 -03:00
Roberto Ierusalimschy
d20ff60615
new macro LUA_NUMTAGS
2010-04-12 13:07:29 -03:00
Roberto Ierusalimschy
d41b467320
check memory allows strings to live in the main GC list (it should
...
work ok).
2010-04-12 09:42:07 -03:00
Roberto Ierusalimschy
4541243355
patterns now accept '\0' as a regular character
2010-04-12 09:00:50 -03:00
Roberto Ierusalimschy
9100f7479a
new implementation for Generic Buffer manipulation (using userdata as
...
temporary buffer space)
2010-04-09 13:14:46 -03:00
Roberto Ierusalimschy
055104f5b6
keep memory-error message in the global state, so that its use
...
does not depend on Lua internalizing strings to avoid a string
creation on memory errors
2010-04-08 14:16:46 -03:00
Roberto Ierusalimschy
28aa733c15
macro 'eqstr' was being used to compare non-string entities
2010-04-08 14:06:33 -03:00
Roberto Ierusalimschy
6abde1b05a
no need to keep "_ENV" name in global state (can be kept in lex state)
2010-04-05 13:35:37 -03:00
Roberto Ierusalimschy
d394d5536a
new macro 'eqstr'
2010-04-05 13:26:37 -03:00
Roberto Ierusalimschy
a2f98314a3
'lua_pushstring' now uses 'luaS_new'
2010-04-05 11:21:38 -03:00
Roberto Ierusalimschy
a09c8d7beb
cannot sweep main thread in sweepstring phase
2010-04-05 11:15:35 -03:00
Roberto Ierusalimschy
f80ff7a336
'luaS_new' changed from macro to function
2010-04-03 17:24:18 -03:00
Roberto Ierusalimschy
a08fc34ee4
avoid using 'luaS_new' when can use 'luaS_newlstr'
2010-04-02 12:39:07 -03:00
Roberto Ierusalimschy
d00d2eaf51
small changes in 'luaO_pushvfstring'
2010-04-02 12:30:27 -03:00
Roberto Ierusalimschy
11126422d9
option to return GC to normal (incremental, non generational) mode
2010-04-02 12:19:19 -03:00
Roberto Ierusalimschy
e54668b696
added proper code to trace garbage collection
2010-04-02 11:37:41 -03:00
Roberto Ierusalimschy
9eb832de54
work related to hooks moved from 'luaV_execute' to 'traceexec'
2010-03-29 17:45:49 -03:00
Roberto Ierusalimschy
82a1f5d354
comments
2010-03-29 14:44:31 -03:00
Roberto Ierusalimschy
a8d3aa14fd
global table now is only kept in the registry
2010-03-29 14:43:14 -03:00
Roberto Ierusalimschy
064e406f67
no more fenvs!
2010-03-26 17:58:11 -03:00
Roberto Ierusalimschy
5c87f61e6b
major collections in generational mode
2010-03-25 16:37:23 -03:00
Roberto Ierusalimschy
3aa9598177
'mainthread' is not inserted in the 'allgc' list anymore, but swept
...
separately.
2010-03-25 10:06:36 -03:00
Roberto Ierusalimschy
64d39ed1b6
generational mode no longer sweep old objects
2010-03-24 12:51:10 -03:00
Roberto Ierusalimschy
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)
2010-03-24 10:07:01 -03:00
Roberto Ierusalimschy
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
2010-03-23 17:16:06 -03:00
Roberto Ierusalimschy
74123e9686
draft version of a generational mode for garbage collection. (Not well
...
tested; no major collections; ...)
2010-03-22 15:28:03 -03:00
Roberto Ierusalimschy
9c196bebad
detail (wrong comment about LUAI_GCPAUSE)
2010-03-22 14:45:55 -03:00
Roberto Ierusalimschy
28b2566c97
'lua_assert' not visible from libraries
2010-03-22 14:28:31 -03:00
Roberto Ierusalimschy
caf74dd731
'cpcall' renamed to 'ccall' as it does not do a protected call
2010-03-19 18:04:17 -03:00
Roberto Ierusalimschy
62840c5fad
'ipairs' is deprecated
2010-03-19 12:52:48 -03:00
Roberto Ierusalimschy
5ca7cdd709
for compatibility only: 'module' changes the first upvalue of
...
calling function to affect its environment
2010-03-19 12:02:34 -03:00
Roberto Ierusalimschy
1514e49d43
avoid using function environments in C libraries (as it probably will
...
be deprecated)
2010-03-17 18:37:37 -03:00
Roberto Ierusalimschy
22ef84b6c8
'_ENV' name permanently stored in global state for easier access
2010-03-13 12:55:42 -03:00
Roberto Ierusalimschy
63a2b62468
must include 'string.h' because a macro uses 'strlen'
2010-03-13 12:55:01 -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
25c557ec63
first version of _ENV; no more global variables
2010-03-12 16:14:06 -03:00
Roberto Ierusalimschy
f292760f12
small optimization in luaL_addlstring (avoid adding chars one by one)
...
(suggested by Chuck Coffing)
2010-03-12 15:59:32 -03:00
Roberto Ierusalimschy
1124cb1247
first step towards _ENV: all chunks have an puvalues _ENV with the
...
global table
2010-03-08 13:55:52 -03:00
Roberto Ierusalimschy
c295147874
when finding a 'name' for a function, handle the case when the function
...
is a for iterator
2010-03-05 11:01:29 -03:00
Roberto Ierusalimschy
e560ac4862
when searching for a variable name, look existing upvalues before
...
goingg to upper levels
2010-03-04 15:12:57 -03:00
Roberto Ierusalimschy
915a9a912c
just in case, better to flush error messages
2010-03-03 15:53:02 -03:00
Roberto Ierusalimschy
ae0a5e2142
new option '*L' for io.read + options for io.lines
2010-03-03 15:48:57 -03:00
Roberto Ierusalimschy
347f0c33d1
avoid 'continue' unless necessary
2010-02-27 18:16:24 -03:00
Roberto Ierusalimschy
622e448710
removed useless test (argv[i] cannot be NULL when i<argc)
2010-02-27 18:15:36 -03:00
Roberto Ierusalimschy
0fe2576a39
new instructions to optimize indexing on upvalues
2010-02-26 17:40:29 -03:00
Roberto Ierusalimschy
d08d237a49
detail: in loadfile read function, no need to return NULL on EOF;
...
size ==0 is enough to signal EOF.
2010-02-18 17:37:57 -02:00
Roberto Ierusalimschy
64a7ec987c
avoid using 'ungetc' in loadfile
2010-02-18 17:32:41 -02:00
Roberto Ierusalimschy
4274738e81
new macro 'luai_writestringerror'
2010-02-18 17:18:41 -02:00
Roberto Ierusalimschy
0d7d559dcc
no need to flush either stderr or \n-terminated outputs
2010-02-11 15:12:27 -02:00
Roberto Ierusalimschy
af512ad6da
use of 'conventional' names for shift and rotate operations +
...
right/left versions for them
2010-02-11 13:55:29 -02:00
Roberto Ierusalimschy
d27108ccd5
removed support for '#fist-line comment' on binary files (as binary
...
files do not have lines...)
2010-02-11 13:52:50 -02:00
Roberto Ierusalimschy
a838b3b496
better usage messages, showing entire offending argument
2010-02-09 09:58:57 -02:00
Roberto Ierusalimschy
4c54cd3a10
when yielding, original 'func' value must be kept and restored so
...
that 'poscall' puts results in the right slot.
2010-02-09 09:56:29 -02:00
Roberto Ierusalimschy
c8ff7de7f0
field 'oldtop' renamed to 'extra', as it can be used for other
...
purposes
2010-02-09 09:55:37 -02:00
Roberto Ierusalimschy
3bae8e047c
typo (thanks to Gavin)
2010-02-05 17:09:09 -02:00
Roberto Ierusalimschy
4f5f2fe367
new function 'luaL_cpcall'
2010-01-21 14:49:21 -02:00
Roberto Ierusalimschy
01586d539e
typo in comment
2010-01-21 14:31:24 -02:00
Roberto Ierusalimschy
c8ab34ab7a
better messages for invalid options
2010-01-21 14:31:06 -02:00
Roberto Ierusalimschy
36ab1ee10c
__unm metamethod gets nil as its 2nd parameter
2010-01-15 14:23:58 -02:00
Roberto Ierusalimschy
193ce46970
table.pack was locking last result, avoiding its collection
2010-01-13 17:59:10 -02:00
Roberto Ierusalimschy
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
2010-01-13 14:30:27 -02:00
Roberto Ierusalimschy
f270e7f044
warnings that are not compatible with C++ separated from other warning
...
options
2010-01-13 14:19:54 -02:00
Roberto Ierusalimschy
070d3743a7
"no value" added to array luaT_typenames + occurrences of "userdata"
...
in that array unified in a single address
2010-01-13 14:18:25 -02:00
Roberto Ierusalimschy
0c7de97d47
correct error message when yielding from outside a coroutine
2010-01-13 14:17:32 -02:00
Roberto Ierusalimschy
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.
2010-01-13 14:09:05 -02:00
Roberto Ierusalimschy
91f0b20a0e
missing standard defines
2010-01-12 17:40:02 -02:00
Roberto Ierusalimschy
e4b4623abc
'searchpath' changes dots into directory separators
2010-01-11 15:55:25 -02:00
Roberto Ierusalimschy
cef96b73e1
added casts from int to enumerations to follow C++ rules
2010-01-11 15:38:30 -02:00
Roberto Ierusalimschy
427e01eb63
removed useless initialization
2010-01-11 15:37:59 -02:00
Roberto Ierusalimschy
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").
2010-01-11 15:34:59 -02:00
Roberto Ierusalimschy
8bfc696676
missing 'external' in variable declaration
2010-01-11 15:33:09 -02:00
Roberto Ierusalimschy
97a35e70af
pathes corrected to 5.2
2010-01-11 15:15:30 -02:00
Roberto Ierusalimschy
03b556b963
corrected copyright notice to 2010
2010-01-11 15:15:11 -02:00
Roberto Ierusalimschy
572b94bbcb
include of 'windows.h' moved to where it is needed
2010-01-11 15:11:24 -02:00
Roberto Ierusalimschy
692209fa8d
Dynamic C functions should be created with the global table as their
...
initial environments
2010-01-11 15:06:31 -02:00
Roberto Ierusalimschy
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.
2010-01-11 14:35:20 -02:00
Roberto Ierusalimschy
a541ada194
"-"-trick in C packages now accept name-v13...
2010-01-11 14:10:47 -02:00
Roberto Ierusalimschy
55d3138397
removed old prototype for 'luaI_openlib' (which does not exist anymore)
2010-01-11 14:00:45 -02:00
Roberto Ierusalimschy
e74e56f2b1
better may to force recompilation when makefile changes
2010-01-08 18:05:36 -02:00
Roberto Ierusalimschy
1ebf109c53
'setobj' must assing fields one by one, to allow trick of using
...
pad space in table keys
2010-01-08 18:00:20 -02:00
Roberto Ierusalimschy
f75be1cb28
removed parentheses around some function names in their definitions
2010-01-08 13:16:56 -02:00
Roberto Ierusalimschy
16d2ad88fe
some changes in compatibility macros: added LUA_COMPAT_ALL + compatibility
...
macros from lua.h and lauxlib.h moved to luaconf.h
2010-01-06 13:15:04 -02:00
Roberto Ierusalimschy
f3a6815000
compatibility code removed or moved to luaconf.h
2010-01-06 13:14:15 -02:00
Roberto Ierusalimschy
19f8c87375
compatibility code moved to luaconf.h
2010-01-06 13:08:00 -02:00
Roberto Ierusalimschy
5bcfe0c700
new debug info 'isvararg' and 'nparams'
2010-01-06 12:42:35 -02:00
Roberto Ierusalimschy
8cd395564c
no need to use two different defines (LUA_DL_DLOPEN and LUA_USE_DLOPEN)
2010-01-06 12:35:17 -02:00
Roberto Ierusalimschy
389c890ed3
again changing macro to function to save a few bytes
2010-01-06 09:48:02 -02:00
Roberto Ierusalimschy
e3866afa97
macro 'luaY_checklimit' changed into a function (and renamed 'checklimit').
...
It makes no sense to trade space for time in the parser.
2010-01-05 16:46:58 -02:00
Roberto Ierusalimschy
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).
2010-01-05 16:33:26 -02:00
Roberto Ierusalimschy
cec25167d1
new api_check that 'pcallk' cannot be called inside hooks
2010-01-04 16:17:51 -02:00
Roberto Ierusalimschy
1fd4c482a0
reorganization of switch in function 'match' (details)
2010-01-04 14:37:19 -02:00
Roberto Ierusalimschy
35e729fa6d
comments + small details
2010-01-04 14:36:39 -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
cc1cbd19a0
'lua_cpcall' is deprecated + other small changes in 'pmain' (comments
...
and reordering to check arguments before running any Lua code)
2009-12-22 14:47:12 -02:00
Roberto Ierusalimschy
cb3f95d516
'lua_cpcall' is deprecated
2009-12-22 14:47:00 -02:00
Roberto Ierusalimschy
f84b575cfa
no more pseudoindex LUA_GLOBALSINDEX; global table now accessible
...
through registry
2009-12-22 13:32:50 -02:00
Roberto Ierusalimschy
3cb343efd6
code for error message for 'setn' removed
2009-12-18 14:53:12 -02:00
Roberto Ierusalimschy
ec0fc1a13b
missing parentheses around 'lua_version' + moving typdef's before
...
the extra include
2009-12-18 13:32:36 -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
0bbdddc86b
allocator function receives the tag of object being allocated in 'osize'
...
when 'ptr' is NULL.
2009-12-17 13:46:44 -02:00
Roberto Ierusalimschy
b3b8dfaaea
yet more options moved from luaconf.h into internal files
2009-12-17 11:08:51 -02:00
Roberto Ierusalimschy
adc6a4865b
macro name change: LUA_INIT->LUA_INIT_VAR
2009-12-17 11:07:41 -02:00
Roberto Ierusalimschy
2108754e46
macro name change: LUA_PATH->LUA_PATH_VAR, LUA_CPATH->LUA_CPATH_VAR,
...
LUA_PATHSEP->LUA_PATH_SEP, LUA_EXECDIR->LUA_EXEC_DIR
2009-12-17 11:06:47 -02:00
Roberto Ierusalimschy
46f1429936
more options moved from luaconf.h into internal files
2009-12-17 10:50:20 -02:00
Roberto Ierusalimschy
e0f9d1c8f5
removed export of function only for coco
2009-12-17 10:28:57 -02:00
Roberto Ierusalimschy
de6fc75d63
several configuration options that do not change often moved out of
...
luaconf.h and into more internal files
2009-12-17 10:26:09 -02:00
Roberto Ierusalimschy
2af0d3b459
allocator function receives the tag of object being allocated in 'osize'
...
when 'ptr' is NULL.
2009-12-16 14:42:58 -02:00
Roberto Ierusalimschy
9fbe0690fb
base-level C use global table as its environment
2009-12-15 09:25:36 -02:00
Roberto Ierusalimschy
a25b8ff69c
detail ('lua_tolstring' instead of lua_objlen)
2009-12-15 09:25:16 -02:00
Roberto Ierusalimschy
15b823ce4f
cleaner way to add extra space in a lua state.
2009-12-14 13:27:30 -02:00
Roberto Ierusalimschy
8da245bfd2
better to keep GC state numbers sequential, to optimize switch in
...
'singlestep'
2009-12-11 19:31:14 -02:00
Roberto Ierusalimschy
a2a2abcba4
new function 'luaC_runtilstate' to advance GC until a "valid" state
2009-12-11 17:14:59 -02:00
Roberto Ierusalimschy
2e51792596
avoid using deprecated macros lua_[gs]etglobal
2009-12-11 11:40:44 -02:00
Roberto Ierusalimschy
3a9ae612a4
macro 'ngcotouv' is the same as 'gco2uv', so it was removed
2009-12-11 11:39:34 -02:00
Roberto Ierusalimschy
9db693a57c
detail (comment)
2009-12-10 17:00:33 -02:00
Roberto Ierusalimschy
1375435e4a
several new features in testC to allow better testing of lua_resume
...
at the C API level
2009-12-10 16:21:28 -02:00
Roberto Ierusalimschy
2bb19ccf08
reordering of some functions + cleaner way to code lua_resume/resume +
...
small bug in lua_resume (in case of calling errors lua_resume should
remove only new arguments from the stack and push error message).
2009-12-10 16:20:07 -02:00
Roberto Ierusalimschy
64d5df7772
detail (lua_resume should empty coroutine stack even if they do not
...
fit into caller stack)
2009-12-10 16:17:37 -02:00
Roberto Ierusalimschy
2643da67c6
error messages from 'lua_resume' must be generated in protected mode,
...
to avoid raising memory errors
2009-12-08 16:59:24 -02:00
Roberto Ierusalimschy
ed117bb42a
lua_checkstack does not raise memory errors (instead it signals them)
2009-12-08 14:15:43 -02:00
Roberto Ierusalimschy
a4472490bc
new 'table.pack' function
2009-12-07 13:50:27 -02:00
Roberto Ierusalimschy
86312e1a7d
lua_objlen calls __len metamethod on tables (if present)
2009-12-07 13:49:47 -02:00
Roberto Ierusalimschy
df1dc3f1f5
strings in C scripts may be delimited by quotes + new functionality to
...
set C scripts as C hooks
2009-12-01 14:49:48 -02:00
Roberto Ierusalimschy
513d0258d9
details
2009-12-01 14:31:04 -02:00
Roberto Ierusalimschy
cfa8bc3ca4
continuations may be upvalues too
2009-11-27 13:39:31 -02:00
Roberto Ierusalimschy
a654e82f5c
coroutines may have C bodies
2009-11-27 13:38:51 -02:00
Roberto Ierusalimschy
3e41afcec5
extra api checks for number of returns of C functions and for lua_yield
2009-11-27 13:37:59 -02:00
Roberto Ierusalimschy
3acf5ec5a1
update of file dependencies (gcc -MM)
2009-11-27 12:39:31 -02:00
Roberto Ierusalimschy
93695db903
'table.maxn' deprecated
2009-11-26 15:35:13 -02:00
Roberto Ierusalimschy
9107dd115c
no more compatibility code for 'string.gfind'
2009-11-26 14:49:28 -02:00
Roberto Ierusalimschy
dc4c459546
a few new warnings
2009-11-26 14:36:55 -02:00
Roberto Ierusalimschy
19a6c38745
detail in 'currentpc' (only needs to work for Lua functions)
2009-11-26 13:34:15 -02:00
Roberto Ierusalimschy
3c4d970a7b
comment typos
2009-11-26 09:39:20 -02:00
Roberto Ierusalimschy
b0f2b288a6
new scheme for debug info about tail calls: no more 'fake' stack entries,
...
but stack entry knows whether it was tail called
2009-11-25 13:27:51 -02:00
Roberto Ierusalimschy
2b25489b47
'notail' -> 'noextrachars' ('notail' may confuse with tail calls)
2009-11-24 16:05:12 -02:00
Roberto Ierusalimschy
a6f465f558
new mark LUAMOD_API for all luaopen_* functions
2009-11-24 10:05:44 -02:00
Roberto Ierusalimschy
9a41506b8f
'os.exit' should close state only when second argument is true
2009-11-23 16:20:38 -02:00
Roberto Ierusalimschy
9a6d9ea57a
GC may get stuck during a parser and avoids proper resizing of the
...
string table, making its lists grow too much and degrading performance.
2009-11-23 12:59:30 -02:00
Roberto Ierusalimschy
062e809e54
new macros 'LUAI_DDEC'/'LUAI_DDEF' to better control declarations and
...
definitions of non-static variables
2009-11-19 17:06:52 -02:00
Roberto Ierusalimschy
b4c1824824
'luaV_arith' must be marked 'LUAI_FUNC' (as all non-static functions)
2009-11-19 17:04:58 -02:00
Roberto Ierusalimschy
2e5ef6a9fb
new macro 'isdummy'
2009-11-19 15:54:07 -02:00
Roberto Ierusalimschy
1dea393058
small corrections for 'luaall.c'
2009-11-19 14:26:52 -02:00
Roberto Ierusalimschy
45dec34597
comments
2009-11-19 14:26:29 -02:00
Roberto Ierusalimschy
b40a38a8ac
remove declaration of removed function
2009-11-19 14:24:41 -02:00
Roberto Ierusalimschy
ac899a6307
'debug.joinupvalue' -> 'debug.upvaluejoin'
2009-11-18 13:50:18 -02:00
Roberto Ierusalimschy
ce444bff33
(huge) simplification of GC management
2009-11-18 11:13:47 -02:00
Roberto Ierusalimschy
2d5931ebc8
ensure that reader function cannot yield during parsing
2009-11-17 14:46:44 -02:00
Roberto Ierusalimschy
35fa276099
parser/scanner keep GC running
2009-11-17 14:33:38 -02:00
Roberto Ierusalimschy
b51d76ce8d
when doing hard memory tests, perform a full GC at every possible step
2009-11-17 09:56:03 -02:00
Roberto Ierusalimschy
95020afb63
'module' returns the new module (to be used with lexical environments)
2009-11-16 13:51:19 -02:00
Roberto Ierusalimschy
c5050b1c41
functions 'getfenv' and 'setfenv' are deprecated
2009-11-16 13:51:03 -02:00
Roberto Ierusalimschy
b9063a08f5
new function 'loadin'
2009-11-13 15:01:40 -02:00
Roberto Ierusalimschy
7fe405739c
renaming: 'lua_upvaladdr' -> 'lua_upvalueid',
...
'lua_upvaljoin' -> 'lua_upvaluejoin'
2009-11-09 17:10:48 -02:00
Roberto Ierusalimschy
1ce819333d
new option 'isrunning' for 'lua_gc' (and 'collectgarbage')
2009-11-09 16:55:17 -02:00
Roberto Ierusalimschy
88eb901f81
registry and global table may be changed through the API without a
...
write barrier, so GC should visit them in the atomic phase.
2009-11-09 16:29:21 -02:00
Roberto Ierusalimschy
2583bac3d3
several small changes to simplify changing TValue if needed
2009-11-06 15:09:27 -02:00
Roberto Ierusalimschy
63a3b1a1eb
macro 'checkvalref' redefined as function (to avoid too long macros)
2009-11-06 15:08:43 -02:00
Roberto Ierusalimschy
fbf866a1a5
macro 'gkey' returns a "real" TValue*
2009-11-06 15:07:48 -02:00
Roberto Ierusalimschy
49a67c6d3f
new macro 'NILCONSTANT' to initialize nil constants
2009-11-06 15:07:12 -02:00
Roberto Ierusalimschy
a921d81033
avoid using 'ttype' when there is an explicit test + macro 'checkdeadkey'
...
to avoid repetitions
2009-11-06 15:06:19 -02:00
Roberto Ierusalimschy
155dd01163
avoid using 'ttype' when there is an explicit test
2009-11-06 15:05:34 -02:00
Roberto Ierusalimschy
599789a907
better to enclose macros in 'if' bodies with brackets
2009-11-06 15:03:37 -02:00
Roberto Ierusalimschy
9756f56354
better control over accesses to TValue fields
2009-11-05 15:43:54 -02:00
Roberto Ierusalimschy
b7d5f18d71
api functions to manipulate upvalues do not need to check their
...
arguments (the caller must check them before calling)
2009-11-05 15:26:00 -02:00
Roberto Ierusalimschy
5598b2bc55
new functions to identify and join upvalues
2009-11-05 14:48:31 -02:00
Roberto Ierusalimschy
77077b39d5
comment explaining OP_VARARG was wrong (and corresponding code was not
...
very clear)
2009-10-28 10:20:07 -02:00
Roberto Ierusalimschy
5bc91c6405
no more one environment per thread: all threads share a single global
...
environment
2009-10-23 17:12:19 -02:00
Roberto Ierusalimschy
f5073de0a7
'ipairs' goes until length of array instead of stopping at the first nil
2009-10-23 10:50:25 -02:00
Roberto Ierusalimschy
f6ed285cf2
new hash for doubles based on frexp, to avoid low-level tricks
2009-10-23 10:31:12 -02:00
Roberto Ierusalimschy
1448e736f0
better documentation for constructor syntax
2009-10-14 13:43:11 -03:00
Roberto Ierusalimschy
6e415e9387
local function definition does not need to correct debug information
2009-10-13 16:35:42 -03:00
Roberto Ierusalimschy
b114c99a60
two small bugs: 'debug.getinfo' did not consider negative indices as out
...
of range + 'debug.[gs]etlocal' crash on tail calls
2009-10-13 16:07:40 -03:00
Roberto Ierusalimschy
916587508c
parser keeps list of active local variables in a single dynamic array,
...
therefore saving C stack space
2009-10-11 17:02:19 -03:00
Roberto Ierusalimschy
a5382b763c
new function lua_copy
2009-10-05 13:44:33 -03:00
Roberto Ierusalimschy
ba21aa8b2b
'cpcall' must ensure correct environment for called function
2009-09-30 17:49:47 -03:00
Roberto Ierusalimschy
d119cf3035
a few more instructions to testC (func2udata and getfield)
2009-09-30 17:49:25 -03:00
Roberto Ierusalimschy
0ac3d07ea6
first implementation of lexical environments
2009-09-30 12:38:37 -03:00
Roberto Ierusalimschy
5938212748
information about upvalues (where they come from) kept in Proto structure,
...
instead of sequence of pseudo-opcodes after OP_CLOSURE
2009-09-28 13:32:50 -03:00
Roberto Ierusalimschy
1829911d7c
some operations may shrink g->totalbytes so g->estimate must be
...
more flexible
2009-09-28 10:50:34 -03:00
Roberto Ierusalimschy
bed2cb725a
initialize g->estimate (just in case)
2009-09-28 10:50:19 -03:00
Roberto Ierusalimschy
ab75bd23ee
handle extended opcodes (with OP_EXTRAARG) when checking metamethod
...
calls
2009-09-28 09:37:17 -03:00
Roberto Ierusalimschy
cee94df6e0
function list in luaL_register may be NULL for an empty list
2009-09-28 09:36:40 -03:00
Roberto Ierusalimschy
fcc46467fa
limit of constants per function changed to 2^26 using extra arguments
...
to opcodes LOADK, GETGLOBAL, and SETGLOBAL
2009-09-23 17:33:05 -03:00
Roberto Ierusalimschy
f8e354e240
detail (space between function name and its parameter list)
2009-09-23 17:14:00 -03:00
Roberto Ierusalimschy
a650378822
'cpcall' reimplemented as a predefined value in the registry
2009-09-21 09:09:52 -03:00
Roberto Ierusalimschy
99182c6872
references must start after predefined values in the registry
2009-09-18 15:58:45 -03:00
Roberto Ierusalimschy
67cae2854c
'lua_mainthread' replaced by new preregistered value LUA_RIDX_MAINTHREAD
2009-09-17 15:04:21 -03:00
Roberto Ierusalimschy
0e45ffb8e4
first implementation of 'lua_yieldk' (yield with continuation)
2009-09-14 11:30:39 -03:00
Roberto Ierusalimschy
071e54ae0b
extra facilities to testC: comments + commands print, callk and yield +
...
Cfunc with extra upvalues
2009-09-09 17:44:10 -03:00
Roberto Ierusalimschy
a68494fb32
'debug.[gs]etupvalue' should be able to access C upvalues too
2009-09-09 17:32:19 -03:00
Roberto Ierusalimschy
4b44793dc5
"bug": lua_createtable with sizes changed (array <-> record)
2009-09-07 11:24:12 -03:00
Roberto Ierusalimschy
90e2a716c8
details + comments
2009-09-05 09:39:29 -03:00
Roberto Ierusalimschy
d9fbbe1f23
"file:write" returns "file" in case of success
2009-09-01 16:10:48 -03:00
Roberto Ierusalimschy
4a714cebd1
API checks now have explanatory messages
2009-08-31 11:26:28 -03:00
Roberto Ierusalimschy
5b6be84106
ensures that argument 'mode' to 'io.open' matches "[rwa]%+?b?", to
...
avoid passing invalid modes to 'fopen'.
2009-08-28 10:51:57 -03:00
Roberto Ierusalimschy
b2bb2f7f59
better machinery to test continuations in the C API
2009-08-26 14:41:26 -03:00
Roberto Ierusalimschy
f096ab5421
correct way to check arguments to 'strftime'
2009-08-25 16:58:08 -03:00
Roberto Ierusalimschy
4e1ffc482a
test for 'fs' being NULL at the end of 'close_func' is useless ('fs'
...
cannot be NULl and the new ls->fs can only be NULL when the token
is EOS, in which case anchor_token has no effect).
2009-08-10 17:41:04 -03:00
Roberto Ierusalimschy
bc439e21cd
avoid an unprotected call to 'lua_tostring' which theoretically may
...
cause a panicked exit
2009-08-10 13:23:19 -03:00
Roberto Ierusalimschy
1b4480003b
"stange numbers" (-0 and NaN) also go to the constant table (as
...
strings with their binary representation). Therefore, constant
folding may produce these results.
2009-08-10 12:31:44 -03:00
Roberto Ierusalimschy
42167804b8
luaH_[gs]etnum renamed to luaH_[gs]etint (as they only accept integers,
...
not generic numbers).
2009-08-07 14:53:28 -03:00
Roberto Ierusalimschy
3135a6bbab
luaH_[gs]etnum renamed to luaH_[gs]etint (as they only accept integers,
...
not generic numbers)
2009-08-07 13:17:41 -03:00
Roberto Ierusalimschy
95cbc402dc
"But" -> "Bug" (misspelling)
2009-08-05 10:09:38 -03:00
Roberto Ierusalimschy
decada8dc2
'debug.getfenv' does not check whether it has an argument
2009-08-04 15:51:19 -03:00
Roberto Ierusalimschy
ee5d03b42a
small bug: debug.getfenv should check whether it has an argument
2009-08-04 15:27:57 -03:00
Roberto Ierusalimschy
323f33d014
'collectgarbage"count"' returns a second argument with the count%1024.
2009-08-04 15:20:18 -03:00
Roberto Ierusalimschy
55dc7fb240
bug: stack must be cleared until its end (including extra size) +
...
control of stack size moved to 'ldo.c'
2009-07-16 13:26:09 -03:00
Roberto Ierusalimschy
11d7ba79f2
tail calls do not need to move whole new frame down, only its slice
...
up to last parameter (the rest has not been used yet)
2009-07-15 15:38:16 -03:00
Roberto Ierusalimschy
bd5fa9cc8f
new macro 'getproto'
2009-07-15 15:37:19 -03:00
Roberto Ierusalimschy
2658c94925
detail (comment: 'correspoding' -> 'corresponding')
2009-07-15 14:57:30 -03:00
Roberto Ierusalimschy
215885768c
'index2adr' -> 'index2addr' (correct spelling)
2009-07-15 14:57:03 -03:00
Roberto Ierusalimschy
a5f68589c0
avoid using 'UNUSED' (not defined outside the kernel)
2009-07-15 14:49:48 -03:00
Roberto Ierusalimschy
28419c4383
'luaL_tolstring' uses 'lua_tolstring' instead of 'lua_tostring' and
...
'lua_objlen'
2009-07-15 14:47:34 -03:00
Roberto Ierusalimschy
5bff2aaf47
calls with LUA_MULTRET may leave no free slots in the stack
2009-07-15 14:35:20 -03:00
Roberto Ierusalimschy
f76f4cb79d
new way to control stack overflow, controling only total size of the stack
2009-07-15 14:26:14 -03:00
Roberto Ierusalimschy
abb85fc059
new definition for 'luaD_checkstack' to avoid possible overflows
2009-07-08 13:06:51 -03:00
Roberto Ierusalimschy
aabe3ddbf4
errors in 'resume' should be all protected
2009-07-08 13:06:07 -03:00
Roberto Ierusalimschy
0c258c8492
smart use of varargs may create functions that return too
...
many arguments and overflow the stack of C functions.
2009-07-02 16:57:34 -03:00
Roberto Ierusalimschy
d57c9cdefc
BUG: 'luaV_settable' may invalidate a reference to a table and try
...
to reuse it.
2009-07-01 18:10:33 -03:00
Roberto Ierusalimschy
afb3f7e754
bug: 'luaV_settable' may invalidate a reference to a table and try
...
to reuse it.
2009-07-01 17:31:25 -03:00
Roberto Ierusalimschy
88564c3aec
Standard library for bitwise operations
2009-07-01 13:17:08 -03:00
Roberto Ierusalimschy
3abe3da9fb
new module 'lbitlib.c' for bitwise operations
2009-07-01 13:16:40 -03:00
Roberto Ierusalimschy
eb8499c8e0
use of LUAI_UINT32 replaced by 'unsigned LUA_INT32' (one less
...
definition needed)
2009-07-01 13:14:15 -03:00
Roberto Ierusalimschy
47c562435b
better error messages for luaL_checkversion
2009-06-19 11:21:57 -03:00
Roberto Ierusalimschy
02504d86d3
l_version may be local to 'lua_version'
2009-06-19 11:21:23 -03:00
Roberto Ierusalimschy
4a818f068a
'checkversion' implemented in the auxiliary library
2009-06-18 15:59:58 -03:00
Roberto Ierusalimschy
1d6ebce296
new function 'lua_version' (so that 'checkversion' can be implemented
...
in the auxiliary library)
2009-06-18 15:59:18 -03:00
Roberto Ierusalimschy
bc3e02a1b7
default paths have dot option as the last one (to improve security)
2009-06-18 15:19:36 -03:00
Roberto Ierusalimschy
f4eed60ca9
better treatment of integer formats in string.format
2009-06-18 13:51:03 -03:00
Roberto Ierusalimschy
c1de1fdac6
small optimization in 'lua_arith' (avoids overhead in the common case
...
of both arguments being numbers)
2009-06-18 13:36:40 -03:00
Roberto Ierusalimschy
a36c8e1718
new macro 'changenvalue'
2009-06-18 13:36:40 -03:00
Roberto Ierusalimschy
d7872dcf91
small optimization (reorder of BinOpr enum to unify some cases
...
in switches)
2009-06-18 13:35:05 -03:00
Roberto Ierusalimschy
14115170bc
lua_objlen should not work for numbers (according to the manual)
2009-06-17 15:38:54 -03:00
Roberto Ierusalimschy
ec52149485
'lua_lessthan' replaced by more generic 'lua_compare'
2009-06-17 14:53:50 -03:00
Roberto Ierusalimschy
6980cb1aa7
new functions 'lua_arith' and 'lua_compare'
2009-06-17 14:53:14 -03:00
Roberto Ierusalimschy
59a59fafc6
exports luaV_arith to be used by lua_arith
2009-06-17 14:51:07 -03:00
Roberto Ierusalimschy
2bdd194f43
exports luaV_arith to be used by lua_arith + uses 'luaO_arith' to
...
perform basic arith. operations
2009-06-17 14:50:09 -03:00
Roberto Ierusalimschy
96fa34ec32
constant folding uses 'luaO_arith' to perform basic operations
2009-06-17 14:49:09 -03:00
Roberto Ierusalimschy
6a024df440
new function 'luaO_arith' to perform basic arithmetic operations
2009-06-17 14:48:34 -03:00
Roberto Ierusalimschy
77fd93188e
'lessequal' renamed 'luaV_lessequal' and exported to be used by
...
'lua_compare'
2009-06-17 13:17:14 -03:00
Roberto Ierusalimschy
a21c89ddc8
new API function 'lua_mainthread'
2009-06-15 16:51:31 -03:00
Roberto Ierusalimschy
49b88b1c39
patch for wrong code generation for some particular boolean expressions
2009-06-15 11:12:59 -03:00
Roberto Ierusalimschy
3db5f60547
BUG: "(((1 or false) and true) or false)" gives wrong result
2009-06-15 10:52:08 -03:00
Roberto Ierusalimschy
2258ec6bc9
'getline' renamed to 'getfuncline' (to avoid problems with POSIX)
2009-06-10 13:57:53 -03:00
Roberto Ierusalimschy
2598138ece
new function 'luaK_codek' (detail)
2009-06-10 13:52:03 -03:00
Roberto Ierusalimschy
4a67e48611
new macro 'condmovestack' instead of 'condhardstacktests'
2009-06-08 16:35:59 -03:00
Roberto Ierusalimschy
5cdec7d124
added "\n" at the end of 'package.config' (so that the string
...
is a sequence of complete lines)
2009-06-04 16:34:24 -03:00
Roberto Ierusalimschy
9423e22aa3
no more L->base + ci->base only for Lua functions (C functions may use
...
'func')
2009-06-01 16:09:26 -03:00
Roberto Ierusalimschy
57f8414de1
small bug in 'luaV_concat' (L->top was left incorrect in some cases)
2009-05-27 14:11:27 -03:00
Roberto Ierusalimschy
139d562861
type of 'luai_ctype_' array changed to unsigned (safer for bitwise
...
operations)
2009-05-27 13:51:15 -03:00
Roberto Ierusalimschy
eea6d10866
details (use ci->base instead of L->base when possible)
2009-05-22 12:19:54 -03:00
Roberto Ierusalimschy
019ebcb85f
errors in finalizers are propagated with code LUA_ERRGCMM (ERRor in
...
__gc MetaMethod)
2009-05-21 17:06:11 -03:00
Roberto Ierusalimschy
889284ebd0
hexadecimal escape sequences in strings + better error messages for
...
bad decimal escape sequences
2009-05-18 14:28:04 -03:00
Roberto Ierusalimschy
6956331093
new macro 'zungetc'
2009-05-18 14:26:25 -03:00
Roberto Ierusalimschy
92479f1a8b
new property 'lisupper' (needed to compute values for hexa digits)
2009-05-18 14:15:14 -03:00
Roberto Ierusalimschy
e67dc3a227
'symbexec' merged with 'getobjname' (as only use for symbolic execution
...
now is to find a "good" name for an object)
2009-05-04 15:26:21 -03:00
Roberto Ierusalimschy
0cc3add9f8
variable renaming: 'lualibs' -> 'loadedlibs'; 'luareqlibs' ->
...
'preloadedlibs'
2009-05-01 10:46:35 -03:00
Roberto Ierusalimschy
71c2eeff98
comments
2009-05-01 10:37:11 -03:00
Roberto Ierusalimschy
d7bc346d7a
no more code checking
2009-04-30 14:42:21 -03:00
Roberto Ierusalimschy
673c456cba
resize string hash table only when new size is smaller than current one
2009-04-29 14:09:41 -03:00
Roberto Ierusalimschy
ea44570883
hash table for strings is rehashed in place
2009-04-29 14:09:41 -03:00
Roberto Ierusalimschy
e091a254df
new way to GC stacks: the entire stack must be correct all the times;
...
the 'dead' part of a stack (after the top) must have only nil's, so
that 'top' may go up without cleaning the stack.
2009-04-28 16:04:36 -03:00
Roberto Ierusalimschy
58c3aa8b5f
malicious zero-length string in binary code may segfault Lua +
...
wrong code generation for some particular boolean expressions
2009-04-27 17:11:11 -03:00
Roberto Ierusalimschy
c1f78ff3d3
unused arguments removed
2009-04-27 15:58:31 -03:00
Roberto Ierusalimschy
e5249b9fb5
'exit' changed to 'abort' in case of panic (+ some extra comments)
...
'abort' seems more in line with panic ("abnormal termination")
2009-04-26 18:55:35 -03:00
Roberto Ierusalimschy
d3037d97ec
several small improvements based on 'ci' being fixed now (including
...
erasing savedpc from lua_State)
2009-04-17 19:00:01 -03:00
Roberto Ierusalimschy
c6b442bd36
'luaM_freearray' does not need array type as argument
2009-04-17 11:40:13 -03:00
Roberto Ierusalimschy
4f88418170
'CallInfo' stack implemented as double-linked list instead of an array
2009-04-17 11:28:06 -03:00
Roberto Ierusalimschy
311e9f3ceb
'nresults' is saved in CallInfo from the caller, not the called
2009-04-15 13:53:39 -03:00
Roberto Ierusalimschy
8775f25830
new function 'T.makeCfunc' (for later use)
2009-04-14 16:10:17 -03:00
Roberto Ierusalimschy
70a63fa5ad
first implementation of yieldable 'pcall'
2009-04-08 15:04:33 -03:00
Roberto Ierusalimschy
fffbaede75
detail
2009-04-03 12:58:03 -03:00
Roberto Ierusalimschy
ae9ad6c694
added comment explaining why the 'feof' test when loading a file
2009-04-02 16:54:06 -03:00
Roberto Ierusalimschy
83d2dbb15d
Lua will abort anyway, so 'panic' does not need to.
2009-03-31 14:25:08 -03:00
Roberto Ierusalimschy
4e43741943
in 'lua_call', avoid preparing a continuation when thread cannot yield.
2009-03-30 15:39:20 -03:00
Roberto Ierusalimschy
a274596ecc
avoid making 'lastfree' an invalid pointer
2009-03-30 15:38:24 -03:00
Roberto Ierusalimschy
7e9bc41fe7
'loadlib(lib, "*")' loads 'lib' with global names exported to all
2009-03-26 19:25:05 -03:00
Roberto Ierusalimschy
b1e1c15ced
small bug: EOZ is a valid character to be tested
2009-03-26 15:53:52 -03:00
Roberto Ierusalimschy
3dbf305408
no more support for old-style varargs
2009-03-26 09:57:01 -03:00
Roberto Ierusalimschy
6d0ae11c57
'context' added to suspendable calls
2009-03-23 11:26:12 -03:00
Roberto Ierusalimschy
3ca739b418
'math.random' uses lua_Number to manage its arguments (there is no
...
reason to lose range).
2009-03-17 14:55:39 -03:00
Roberto Ierusalimschy
9e613b8583
missing argument to 'assert' raises "assertion failed" error
2009-03-16 13:30:50 -03:00
Roberto Ierusalimschy
9428ec42d0
new optional argument to 'load', to control allowed modes (binary or
...
textual chunks)
2009-03-13 12:50:03 -03:00
Roberto Ierusalimschy
6ffcf21367
ctype 'lalpha' includes '_' (as '_' behaves as a letter from the
...
point of view of Lua)
2009-03-11 10:27:32 -03:00
Roberto Ierusalimschy
6427c61e7c
added macro 'lisxdigit' (just in case :)
2009-03-10 14:42:33 -03:00
Roberto Ierusalimschy
ba484b9eb1
yielding across lua_call (first version)
2009-03-10 14:14:37 -03:00
Roberto Ierusalimschy
f9d015523e
better notes about some opcodes (comments only)
2009-03-09 12:27:56 -03:00
Roberto Ierusalimschy
1817dfc301
initial separation, in CallInfo, of what is relevant only to Lua
...
functions or only to C functions
2009-03-04 10:32:29 -03:00
Roberto Ierusalimschy
7837e34e56
new states have a reasonable panic function +
...
testC may run code on different threads +
rename of some testC operations ('rawcall'->'call', 'call'->'pcall')
2009-03-03 15:52:36 -03:00
Roberto Ierusalimschy
910310d3ba
if thread has no error handling, try main thread handler before panicking
2009-03-03 15:51:24 -03:00
Roberto Ierusalimschy
facfcd497f
detail
2009-03-02 13:34:23 -03:00
Roberto Ierusalimschy
b403317325
error functions search global space for a name for a function when
...
no other name is available
2009-02-27 15:18:19 -03:00
Roberto Ierusalimschy
9bf05e7364
code section 'Traceback' moved to the beginning of the file
2009-02-27 15:17:13 -03:00
Roberto Ierusalimschy
e39e758a73
closing a "popen" file returns the process exit status
2009-02-20 10:50:27 -03:00
Roberto Ierusalimschy
5438d77221
global array of ctypes renamed to 'luai_ctype_' (extern names must
...
use a "lua" prefix...)
2009-02-20 10:11:15 -03:00
Roberto Ierusalimschy
6905ae900b
Lua now uses "homemade" lctype (instead of ctype.h from ANSI C)
2009-02-19 14:33:51 -03:00
Roberto Ierusalimschy
ada82930fd
"homemade" version of ctype.h
2009-02-19 14:18:25 -03:00
Roberto Ierusalimschy
f36e319658
'fputs' changed to 'luai_writestring' + use of 'lua_checkversion'
2009-02-19 14:15:35 -03:00
Roberto Ierusalimschy
0cea28a785
better error messages for 'lua_checkversion'
2009-02-19 14:15:13 -03:00
Roberto Ierusalimschy
d2ebdc045b
new macro 'lua_checkversion' to check whether core and application are
...
compatible
2009-02-18 14:20:56 -03:00
Roberto Ierusalimschy
81ede6bfce
using light userdata to represent "remote" states
2009-02-18 11:52:51 -03:00
Roberto Ierusalimschy
2b579b4b83
panic mode does not reset stack (so that panic function can gather
...
debug information from it)
2009-02-18 11:52:03 -03:00
Roberto Ierusalimschy
a1d0e1a11a
'log10' is deprecated now
2009-02-18 10:17:10 -03:00
Roberto Ierusalimschy
8975739839
better precision for log(x, 10)
2009-02-18 10:06:05 -03:00
Roberto Ierusalimschy
d07abcc6c7
finalizers always called protected
2009-02-17 16:47:58 -03:00
Roberto Ierusalimschy
189378142a
buffer creation ensures buffer space plus MINSTACK in the stack
2009-02-17 11:31:16 -03:00
Roberto Ierusalimschy
82749b765e
'db_errorfb' changed to 'db_traceback' for consistency
2009-02-17 10:21:28 -03:00
Roberto Ierusalimschy
2b590aea40
no more '__len' metamethod for strings
2009-02-16 17:09:28 -03:00
Roberto Ierusalimschy
547e47649f
'luaL_typeerror' spelled right
2009-02-13 17:39:34 -02:00
Roberto Ierusalimschy
41dd32e18e
comment (should not use 'go trhough' when simply using multiple labels)
2009-02-11 16:25:20 -02:00
Roberto Ierusalimschy
5d3cc5def8
'writestring' changed into a configurable macro
2009-02-07 10:23:15 -02:00
Roberto Ierusalimschy
53db607963
avoid using 'fputs' in 'print' to avoid problems with embedded zeros
2009-02-06 16:38:47 -02:00
Roberto Ierusalimschy
cbf0c7a103
check for invalid use of '%' in replacement string in 'string.gsub'
2009-02-03 17:39:19 -02:00
Roberto Ierusalimschy
4c399c5dfb
detail (MAXSRC changed to LUA_IDSIZE)
2008-12-26 09:55:57 -02:00
Roberto Ierusalimschy
b472098493
concat TM can yield
2008-11-06 10:43:51 -02:00
Roberto Ierusalimschy
84b3daebbd
generic for coded as two dedicated instructions to simplify resumption
2008-10-30 13:39:30 -02:00
Roberto Ierusalimschy
f6978173e0
yields accross metamethods and for iterators (except for __concat)
2008-10-28 14:53:16 -02:00
Roberto Ierusalimschy
e02483dbc0
whole build depends on 'makefile' itself + better format for warning
...
options
2008-10-28 14:52:00 -02:00
Roberto Ierusalimschy
9e58e0df8f
some cleaning
2008-10-28 10:55:00 -02:00
Roberto Ierusalimschy
690efef3de
detail (added 'UNUSED' to unused argument)
2008-10-28 10:54:25 -02:00
Roberto Ierusalimschy
b9e92c8b0d
updating header dependencies
2008-10-03 13:40:56 -03:00
Roberto Ierusalimschy
4376c9bc5f
more specific test to avoid calling luaF_close when function returns
2008-09-09 10:53:02 -03:00
Roberto Ierusalimschy
f94cd2201c
better control of call status through CallInfo
2008-08-26 10:27:42 -03:00
Roberto Ierusalimschy
fdbb243ff9
first steps towards yielding through longjump
2008-08-13 14:02:42 -03:00
Roberto Ierusalimschy
c1565c16ed
small bug: lua_resume returning LUA_YIELD is not an error
2008-08-13 14:02:12 -03:00
Roberto Ierusalimschy
394646891c
new field 'status' in CallInfo structure
2008-08-13 14:01:33 -03:00
Roberto Ierusalimschy
d69aa51088
added missing parentheses around function names
2008-08-13 11:08:49 -03:00
Roberto Ierusalimschy
afe849c9b4
change in error message
2008-08-06 10:38:32 -03:00
Roberto Ierusalimschy
ccd678ea3e
'module' may change the environment of a C function +
...
internal macro 'svalue' is wrong
2008-08-06 10:32:45 -03:00
Roberto Ierusalimschy
bb92ef23cb
bug: string at the end of TString must consider the entire TString
...
entity, not only its 'tsv' part
2008-08-05 16:26:23 -03:00
Roberto Ierusalimschy
bb48f456d9
bug: 'module' now checks that is caller is a Lua function
2008-08-05 16:25:42 -03:00
Roberto Ierusalimschy
df802dc74b
larger alignment requirement helps to uncover some kinds of bugs
2008-08-05 16:24:46 -03:00
Roberto Ierusalimschy
e23da9edee
GC step does not unblock collector (when it is blocked by "stop")
2008-08-01 14:01:16 -03:00
Roberto Ierusalimschy
4db2cddeee
LUA_COMPAT -> LUA_COMPAT_API (more specific)
2008-07-18 16:58:10 -03:00
Roberto Ierusalimschy
f9dec5fc84
do not use compatibility macros in Lua
2008-07-11 14:51:01 -03:00
Roberto Ierusalimschy
6b8725b0ee
new macro LUA_COMPAT to control some compatibility macros
2008-07-11 14:50:31 -03:00
Roberto Ierusalimschy
6955666290
'string.byte' gets confused with some out-of-range negative indices +
...
user-requested GC step may loop forever
2008-07-11 14:27:41 -03:00
Roberto Ierusalimschy
5298392c5a
bug: GC step could loop forever under very particular circumstances
2008-07-04 15:27:11 -03:00
Roberto Ierusalimschy
1ceec74370
useless test removed (pointed by lint)
2008-07-03 11:25:05 -03:00
Roberto Ierusalimschy
2a84c29bc3
comment about exported function not used by Lua
2008-07-03 11:24:36 -03:00
Roberto Ierusalimschy
4d8a1103d3
useless #define removed (pointed by lint)
2008-07-03 11:24:11 -03:00
Roberto Ierusalimschy
202de59254
useless #include removed (pointed by lint)
2008-07-03 11:23:35 -03:00
Roberto Ierusalimschy
f858a155c2
identation error (pointed by lint)
2008-07-03 11:21:41 -03:00
Roberto Ierusalimschy
9e7de9473c
message from -v option goes to stdout, as it is not an error message
2008-06-26 16:47:51 -03:00
Roberto Ierusalimschy
0c8f5fc2fd
simplification in the handling of finalizers: no more 'tmudata' list +
...
no more GCSsweeptmu collector's state
2008-06-26 16:42:45 -03:00
Roberto Ierusalimschy
1527d8f00d
GC called after errors now are called after showing error message (to
...
avoid problems when there are other errors during GC itself)
2008-06-26 16:40:12 -03:00
Roberto Ierusalimschy
8efaf8af81
added a comment about warnings for __attribute__(visibility) in some
...
elf targets
2008-06-25 12:27:12 -03:00
Roberto Ierusalimschy
c3525610fe
bug: when closing the state, 'luaC_separateudata' might mark
...
userdata in the wrong phase of collection, therefore avoiding
their traversal
2008-06-23 19:07:44 -03:00
Roberto Ierusalimschy
7ba62e2985
code reorganization (only changed comments and order of functions)
2008-06-23 13:51:28 -03:00
Roberto Ierusalimschy
8fd28611d5
outdated comment
2008-06-23 13:51:08 -03:00
Roberto Ierusalimschy
93869acb2c
"test trick" seems more useful with pointers instead of integers
2008-06-23 13:50:34 -03:00
Roberto Ierusalimschy
480a1da34a
when error is 'bad self' original message probably makes no sense, so
...
it is better not to show it.
2008-06-13 15:45:35 -03:00
Roberto Ierusalimschy
59e2973335
removed static variable lua_state (not used)
2008-06-13 14:07:10 -03:00
Roberto Ierusalimschy
5d09be4832
by default, 'os.exit' closes current state
2008-06-13 13:59:00 -03:00
Roberto Ierusalimschy
860e285f31
'luaL_gsub' moved into 'testC' (all auxlib should be tested through 'testC')
2008-06-13 11:15:59 -03:00
Roberto Ierusalimschy
eb8ac6e2a0
'luaL_testudata' does not leave garbage on the stack in case of failure
2008-06-12 11:37:27 -03:00
Roberto Ierusalimschy
b1203e036d
'posrelat' avoids problems with -(-2^31)
2008-06-12 11:21:18 -03:00
Roberto Ierusalimschy
92a0d4c67f
extra options in 'testC' for newmetatable and testudata
2008-06-12 11:20:49 -03:00
Roberto Ierusalimschy
5fa55df2ca
updated years in some comments/strings
2008-05-09 13:51:44 -03:00
Roberto Ierusalimschy
a3af42de8e
patch for "blow stack" bug
2008-05-08 13:55:08 -03:00
Roberto Ierusalimschy
198be23f36
added structure for local-variable information to allow extra
...
checkings if needed
2008-05-08 12:44:51 -03:00
Roberto Ierusalimschy
24359ae294
'string.find' cannot find things after subject's end
2008-04-14 12:54:59 -03:00
Roberto Ierusalimschy
6c84722afa
make default GC behavior a little more agressive
...
(to avoid falling behind memory consumption)
2008-04-07 15:58:42 -03:00
Roberto Ierusalimschy
facb0519a0
two bugs: invalid boolean values in constant table + too deep recursion
...
when reading nested functions
2008-04-07 15:44:23 -03:00
Roberto Ierusalimschy
ffdca3522e
'table.sort' detects invalid order function before calling it
...
for nil elements
2008-04-07 15:43:00 -03:00
Roberto Ierusalimschy
4d7469b610
avoid constant folding for -0 (to avoid it colapsing to 0)
2008-04-07 15:41:47 -03:00
Roberto Ierusalimschy
2b84e36b93
patches for some bugs
2008-04-04 22:31:59 -03:00
Roberto Ierusalimschy
85bda9eef5
bugs: precheck must use check (instead of assert) and ensures that
...
code size is at least 1
2008-04-02 16:14:16 -03:00
Roberto Ierusalimschy
a4d3080fe3
SETLIST extra argument now is an "instruction" (OP_EXTRAARG)
2008-04-02 14:38:54 -03:00
Roberto Ierusalimschy
5627d51e05
corrected error message ("too many constants" -> "too many functions")
2008-04-02 14:19:22 -03:00
Roberto Ierusalimschy
e64b0cada8
several bugs related to precompiled code
2008-04-01 16:17:48 -03:00
Roberto Ierusalimschy
7316d61a66
'coroutine.running' should work for the main thread too
2008-02-25 11:33:57 -03:00
Roberto Ierusalimschy
e2b366c760
userdata with finalizers are kept in a separated list
2008-02-19 15:55:09 -03:00
Roberto Ierusalimschy
fa19baab7f
proxies must be created with a __gc field in their metatables to work
...
properly with new semantics for finalizers
2008-02-19 15:54:09 -03:00
Roberto Ierusalimschy
2f8351fe48
turn off optimizations when testing
2008-02-15 15:44:34 -02:00
Roberto Ierusalimschy
32d42bdcdc
bugs: lua_checkstack may have arithmetic overflow for large 'size' +
...
unpack with maximum indices may crash due to arithmetic overflow
2008-02-14 14:51:57 -02:00
Roberto Ierusalimschy
843d53aabb
'table.concat' may get confused with too large limits
2008-02-14 14:03:27 -02:00
Roberto Ierusalimschy
5ac3386888
bug: unpack with maximum indices may crash due to arithmetic overflow
2008-02-14 14:03:09 -02:00
Roberto Ierusalimschy
6d182faab6
bug: lua_checkstack may have arithmetic overflow for large 'size'
2008-02-14 14:02:58 -02:00
Roberto Ierusalimschy
f86f4116c8
micro-optimization: avoid one API call in 'read_chars'
2008-02-12 15:05:36 -02:00
Roberto Ierusalimschy
7f69f0efb0
remove of useless test in 'read_chars' (if n == 0 then the resulting
...
string cannot be empty).
2008-02-12 14:51:03 -02:00
Roberto Ierusalimschy
f6cab9666c
corrected name of 'Patrick Donnelly'
2008-02-12 14:42:46 -02:00
Roberto Ierusalimschy
3deb38814d
added assertions checking maximum number of upvalues
2008-02-12 11:34:12 -02:00
Roberto Ierusalimschy
3b5b14a085
LUAI_MAXCSTACK must be smaller than -LUA_REGISTRYINDEX +
...
coroutine.resume pushes element without ensuring stack size
2008-02-11 17:18:21 -02:00
Roberto Ierusalimschy
aec671c126
maximum C stack should reserve some values for pseudo-indices
2008-02-11 17:17:19 -02:00
Roberto Ierusalimschy
dd92af69db
bug: pseudo-indices should be linked to maximum C stack size
2008-02-11 17:16:02 -02:00
Roberto Ierusalimschy
015e973899
bug: auxresume should reserve stack space for boolean result
2008-02-11 17:14:52 -02:00
Roberto Ierusalimschy
163f58dac5
in 'testC', booleans should be represented by booean values
2008-02-11 17:04:16 -02:00
Roberto Ierusalimschy
dcee7d2fe0
new instructions 'newtable' and 'checkstack' in 'testC'
2008-02-11 16:04:26 -02:00
Roberto Ierusalimschy
5f0a2f6248
more options for 'kinds' of Garbage Collection + more agressive
...
shrinking of stacks and string hash
2008-02-11 13:46:03 -02:00
Roberto Ierusalimschy
a73930228a
more options for 'kinds' of Garbage Collection
2008-02-11 13:45:30 -02:00
Roberto Ierusalimschy
a76fa25199
'ceillog2' now is exported (other modules may need it)
2008-01-30 16:05:23 -02:00
Roberto Ierusalimschy
dd3519ab89
comment (LUA_GLOBALSINDEX does not need write barrier in lua_replace)
2008-01-25 11:42:12 -02:00
Roberto Ierusalimschy
3a515df086
debug.sethook/gethook may overflow the thread's stack
2008-01-21 12:41:19 -02:00
Roberto Ierusalimschy
74897bc52f
bug: debug.sethook/gethook may overflow thread's stack
2008-01-21 11:37:08 -02:00
Roberto Ierusalimschy
e7c989baf1
avoid calling "tail return" hooks if the hook itself turns off the event
2008-01-18 20:36:50 -02:00
Roberto Ierusalimschy
7a3c8314ac
small bug (see http://lua-users.org/lists/lua-l/2007-08/msg00350.html )
2008-01-18 15:14:47 -02:00
Roberto Ierusalimschy
6f8257ec5f
it seems useless trying to avoid this warning...
2008-01-18 13:37:10 -02:00
Roberto Ierusalimschy
87b0191753
better definition for LUAI_MAXCSTACK
2008-01-17 14:24:38 -02:00
Roberto Ierusalimschy
56c17ba4c7
detail
2008-01-17 14:24:30 -02:00
Roberto Ierusalimschy
daddc57abd
luaL_tostring -> luaL_tolstring (more generic)
2008-01-03 15:07:59 -02:00
Roberto Ierusalimschy
f9cdd09191
larger limit for MAXCSTACK (plus removing of some useless definitions)
2008-01-02 14:36:19 -02:00
Roberto Ierusalimschy
47b4858357
detail ('name' of baselib is "_G")
2008-01-02 14:16:28 -02:00
Roberto Ierusalimschy
b8d23d6e07
option to use Sun compiler (on lhf account)
2007-12-27 10:59:43 -02:00
Roberto Ierusalimschy
fdecdd0cec
stand-alone interpreter shows incorrect error message when the
...
'message' is a coroutine (already fixed in 5.2)
2007-12-27 10:58:29 -02:00
Roberto Ierusalimschy
fabdaa37b6
'lua_pushfstring' raises an error if called with invalid format
2007-12-19 15:24:38 -02:00
Roberto Ierusalimschy
bc82b4d78a
new function 'package.searchpath'
2007-12-12 12:36:12 -02:00
Roberto Ierusalimschy
dae850e0ee
details
2007-12-08 09:54:32 -02:00
Roberto Ierusalimschy
abcc124df0
BUG: lua_setfenv may crash if called over an invalid object
2007-11-28 16:27:38 -02:00
Roberto Ierusalimschy
b4164a9aa7
details
2007-11-28 16:25:17 -02:00
Roberto Ierusalimschy
9f0d62ad9f
BUG: table.remove removes last element of a table when given
...
an out-of-bound index
2007-11-26 14:57:33 -02:00
Roberto Ierusalimschy
64ecf24210
detail
2007-11-26 14:56:11 -02:00
Roberto Ierusalimschy
658e7caf92
use prefix in extern names, even those in test files
2007-11-12 14:28:45 -02:00
Roberto Ierusalimschy
788506dd58
detail
2007-11-12 12:10:09 -02:00
Roberto Ierusalimschy
62790ab15d
detail
2007-11-09 16:55:07 -02:00
Roberto Ierusalimschy
ad60b3ead7
avoid the use of "exotic" libc functions
2007-11-09 16:54:25 -02:00
Roberto Ierusalimschy
5e8dd55574
first implementation of ephemerons
2007-10-31 13:41:19 -02:00
Roberto Ierusalimschy
0e961ad47a
some changes toward ephemerons
2007-10-29 14:51:20 -02:00
Roberto Ierusalimschy
c06cc60946
BUG: 'gsub' may go wild when wrongly called without its third
...
> argument and with a large subject.
2007-10-29 13:51:10 -02:00
Roberto Ierusalimschy
2fa476655f
detail
2007-10-25 17:31:05 -02:00
Roberto Ierusalimschy
7a78495f31
avoid problems with 'ptrdiff_t'
2007-10-25 17:30:36 -02:00
Roberto Ierusalimschy
3138afbe2e
parser should not call 'luaX_lexerror'
2007-10-25 14:45:47 -02:00
Roberto Ierusalimschy
4eef0aaad1
detail
2007-10-18 09:01:52 -02:00
Roberto Ierusalimschy
ab09732986
new metamethods for '__pairs' and '__ipairs'
2007-10-17 15:26:39 -02:00
Roberto Ierusalimschy
b7fa64565a
27 is not a prime number :(
2007-09-30 10:09:43 -03:00
Roberto Ierusalimschy
2622ed2528
better way to handle redefinitions of 'localeconv'
2007-09-14 10:27:04 -03:00
Roberto Ierusalimschy
9cb0607f6f
avoid warnings about exit; return
2007-09-14 10:26:28 -03:00
Roberto Ierusalimschy
8998032f66
detail
2007-09-14 10:26:03 -03:00
Roberto Ierusalimschy
80b4753539
better error message for 'concat'
2007-09-12 17:53:24 -03:00
Roberto Ierusalimschy
fe0838cd1c
tables and strings respect __len metamethod
2007-09-10 14:59:32 -03:00
Roberto Ierusalimschy
8acaa2ce07
An error in a module loaded through the '-l' option
...
shows no traceback.
2007-09-05 14:18:27 -03:00
Roberto Ierusalimschy
c676f13e1a
stand-alone error-message details
2007-09-05 14:17:39 -03:00
Roberto Ierusalimschy
9b47cee8b2
better to flush all files before starting new process with popen
2007-08-30 13:13:13 -03:00
Roberto Ierusalimschy
47e666c090
no need for ctype.h
2007-08-10 09:56:02 -03:00
Roberto Ierusalimschy
3059579253
detail
2007-08-09 17:29:15 -03:00
Roberto Ierusalimschy
72c2f75648
detail (LUA_COPYRIGHT includes release number)
2007-08-07 13:53:40 -03:00
Roberto Ierusalimschy
ec68ed66ed
detail
2007-08-01 09:17:29 -03:00
Roberto Ierusalimschy
f6a81dbe97
BUG: too many variables in an assignment may cause a C stack overflow
2007-07-31 16:39:52 -03:00
Roberto Ierusalimschy
3904a66ab0
'debug' library must be required before being used
2007-06-22 13:59:11 -03:00
Roberto Ierusalimschy
ffc5f78229
detail
2007-06-22 12:39:34 -03:00
Roberto Ierusalimschy
3f78748ef3
traceback function moved to auxlib
2007-06-22 12:33:54 -03:00
Roberto Ierusalimschy
d26bfb5ae4
"spacial" reorganization to keep related functions in groups
2007-06-21 11:09:59 -03:00
Roberto Ierusalimschy
8d3dd04137
clearing some old compatibility code
2007-06-21 10:52:27 -03:00
Roberto Ierusalimschy
791d8d8585
detail
2007-06-21 10:50:53 -03:00
Roberto Ierusalimschy
e85515958b
clearing some old compatibility code
2007-06-21 10:48:04 -03:00
Roberto Ierusalimschy
dc59444cd1
strong collision for very small numbers used as table keys
2007-06-19 17:23:29 -03:00
Roberto Ierusalimschy
6c042e17b1
avoid boolean equality (tricky for some compilers)
2007-06-19 16:48:15 -03:00
Roberto Ierusalimschy
18a583306b
patch may be a little simpler
2007-05-29 16:05:25 -03:00
Roberto Ierusalimschy
fc8d077612
bug: wrong error message in some concatenations
2007-05-29 15:59:59 -03:00
Roberto Ierusalimschy
e64fcb9d94
bug: recursive coroutines may overflow C stack
2007-05-25 14:13:47 -03:00
Roberto Ierusalimschy
6c0a9a272e
assignment of nil to parameter may be optimized away
...
__concat metamethod converts numbers to strings
loadlib.c should not access Lua internals
code generated for "-nil", "-true", and "-false" is wrong
Count hook may be called without being set
2007-05-16 12:39:08 -03:00
Roberto Ierusalimschy
01fa1bc114
luaL_testudata (a luaL_checkudata that does not raise errors) is
...
very needed.
2007-05-15 15:46:12 -03:00
Roberto Ierusalimschy
aa003eba8e
details
2007-05-11 14:28:56 -03:00
Roberto Ierusalimschy
becf19feef
better names for metamethods in debug information
2007-05-09 12:49:36 -03:00
Roberto Ierusalimschy
81fc3c4f45
bug: code generated for "-nil", "-true", and "-false" is wrong
2007-05-04 15:41:49 -03:00
Roberto Ierusalimschy
e7fb0d8a6f
'os.date' checks arguments before passing them to 'strftime'
2007-05-03 17:49:29 -03:00
Roberto Ierusalimschy
4eb49163c6
error handler in 'lua.c' tries '__tostring' metamethod if error
...
message is not a string
2007-04-26 17:39:38 -03:00
Roberto Ierusalimschy
79cb336d74
does not allow standard files to be closed
2007-04-19 17:22:32 -03:00
Roberto Ierusalimschy
38063345ae
several details
2007-04-19 17:21:53 -03:00
Roberto Ierusalimschy
ae00b3a76f
another way to normalize -0 that avoids problems with very small
...
numbers (adding 1 turns them all into 1)
2007-04-18 16:24:35 -03:00
Roberto Ierusalimschy
619be354c8
lua_pushstring/pushlstring return string
2007-04-17 10:19:53 -03:00
Roberto Ierusalimschy
94d40f3980
luaO_log2 can be private to ltable.c
2007-04-10 09:18:17 -03:00
Roberto Ierusalimschy
585b81f91e
remove of a non-used test function
2007-04-10 09:17:52 -03:00
Roberto Ierusalimschy
5f4f0d4a63
no more optimization to avoid LOADNIL at function start
2007-03-27 11:11:38 -03:00
Roberto Ierusalimschy
8e36e1fe49
details (randomseed calls rand once to dischard first value)
2007-03-27 09:37:00 -03:00
Roberto Ierusalimschy
97505caa64
detail
2007-03-26 15:35:34 -03:00
Roberto Ierusalimschy
df50c84ee0
BUG: loadlib should not use Lua internals (lobject.h)
2007-03-26 12:57:35 -03:00
Roberto Ierusalimschy
1a455acc81
two small bugs: some metamethods do not accept callable non-function
...
objects + __concat converts numbers to strings before calling metamethod
2007-03-26 12:56:23 -03:00
Roberto Ierusalimschy
60bc151ed7
patch for last bug
2007-03-09 15:51:32 -03:00
Roberto Ierusalimschy
3b19bd4d57
bug: wrong code when constant is coded after it should be
2007-03-09 15:50:56 -03:00
Roberto Ierusalimschy
08f902cf49
better documentation for auxiliary functions (that should be called only
...
through specific macros).
2007-02-09 11:04:52 -02:00
Roberto Ierusalimschy
d3c304e92e
BUG: setfenv accepts invalid argument
2007-02-09 10:40:21 -02:00
Roberto Ierusalimschy
3bf0292cd5
two new bugs + one new patch
2007-02-09 10:39:52 -02:00
Roberto Ierusalimschy
a7861d9d66
new year...
2007-02-07 15:54:52 -02:00
Roberto Ierusalimschy
d62a21b9d3
when formatting with '%q', all control characters are coded
...
as \nnn.
2007-02-07 15:53:08 -02:00
Roberto Ierusalimschy
cf86576a83
new function luaL_tostring
2007-02-07 15:51:21 -02:00
Roberto Ierusalimschy
92dc64e121
more regularity in the use of quotes in error messages
2007-02-07 15:49:18 -02:00
Roberto Ierusalimschy
593bfc9668
should not manipulate NULL pointers (even without accessing them)
2007-02-07 15:48:52 -02:00
Roberto Ierusalimschy
850c60e81b
detail for windows
2007-02-07 15:46:20 -02:00
Roberto Ierusalimschy
3d480b04a5
more specific ident labels
2007-02-07 12:28:00 -02:00
Roberto Ierusalimschy
c36e2265d9
detail (tab->space)
2006-11-30 09:25:40 -02:00
Roberto Ierusalimschy
a68df3898d
detail
2006-11-22 09:43:47 -02:00
Roberto Ierusalimschy
4d7cfff6df
comments
2006-11-22 09:02:03 -02:00
Roberto Ierusalimschy
be822a5f1c
xpcall now may get arguments to function to be called
2006-10-24 16:46:12 -03:00
Roberto Ierusalimschy
9f5a052c27
error message
2006-10-24 10:31:48 -03:00
Roberto Ierusalimschy
fc875334fd
detail
2006-10-20 16:30:53 -03:00
Roberto Ierusalimschy
80a267b130
avoid $URL for ident; it is reserved in subversion
2006-10-17 17:00:07 -03:00
Roberto Ierusalimschy
3182ac69a7
towards 5.2 + detail in authors + avoiding reverse plicks
2006-10-17 16:59:04 -03:00
Roberto Ierusalimschy
dead3858b8
detail
2006-10-16 11:38:38 -03:00
Roberto Ierusalimschy
afa0d0ac0d
new constant LUA_OK
2006-10-10 14:40:17 -03:00
Roberto Ierusalimschy
742b8be0c1
detail
2006-10-10 14:39:00 -03:00
Roberto Ierusalimschy
285f926140
avoid using index 0 for free list of references (because it is not
...
as efficient as index 1...)
2006-09-25 12:35:00 -03:00
Roberto Ierusalimschy
3c8865cf66
detail
2006-09-22 17:24:38 -03:00
Roberto Ierusalimschy
569a326931
small optimization for ""..x
2006-09-19 11:06:45 -03:00
Roberto Ierusalimschy
d1ef7e0ec6
avoid local "pc" in interpreter loop (tricky optimization with no real gain)
2006-09-19 10:57:50 -03:00
Roberto Ierusalimschy
d513c3c66b
bug: os.date throws error when result is the empty string
2006-09-19 10:57:08 -03:00
Roberto Ierusalimschy
93d3c8450c
bug: string.format("%") reads past the string
2006-09-18 13:33:14 -03:00
Roberto Ierusalimschy
8667f29c3b
behavior of 'strchr(x, 0)' is ill defined.
2006-09-18 13:06:41 -03:00
Roberto Ierusalimschy
d22526ec30
'lua_strlen' is for compatibility only
2006-09-18 11:03:18 -03:00
Roberto Ierusalimschy
bd869c7b31
details
2006-09-14 15:42:28 -03:00
Roberto Ierusalimschy
d5a23dde90
little better error messages for internal arrays overflows
2006-09-14 09:59:06 -03:00
Roberto Ierusalimschy
a7c9e45c64
avoid trailing white spaces
2006-09-11 11:07:24 -03:00
Roberto Ierusalimschy
cedd2092eb
'coroutine.running' should return nil (instead of nothing) for main thread
2006-09-11 11:07:24 -03:00
Roberto Ierusalimschy
c473818017
avoid "too complex" conditional expression (some compilers get confused...)
2006-09-11 09:44:56 -03:00
Roberto Ierusalimschy
6087e67771
no more compatibility option for long strings
2006-08-30 10:19:58 -03:00
Roberto Ierusalimschy
93bf618504
BUG: there is only one C stack, so nCcalls must be global
2006-08-15 16:59:20 -03:00
Roberto Ierusalimschy
dfe2f1eeff
macros luai_num* take a state L (when available) as argument, to allow
...
them to generate errors (and other facilities)
2006-08-07 16:14:30 -03:00
Roberto Ierusalimschy
ca7e5b5cb6
wrong message error in some cases involving closures
2006-08-07 16:04:06 -03:00
Roberto Ierusalimschy
5019b2dd20
math.log now accepts an optional base
2006-08-07 16:01:56 -03:00
Roberto Ierusalimschy
33e7bc88f8
comment
2006-08-04 10:34:37 -03:00
Roberto Ierusalimschy
fa0c03aaa6
details
2006-07-14 13:22:24 -03:00
Roberto Ierusalimschy
3fa47c5dc1
bugs now are against 5.1.1
2006-07-13 11:37:36 -03:00
Roberto Ierusalimschy
0782416a74
bug: wrong limit for list constructors
2006-07-12 16:02:50 -03:00
Roberto Ierusalimschy
3ca9af51a4
emergency garbage collector (core forces a GC when allocation fails)
2006-07-11 12:53:29 -03:00
Roberto Ierusalimschy
c7b89dd280
small bug: should not use string after popping it
2006-07-03 17:16:49 -03:00
Roberto Ierusalimschy
74832b2a10
detail
2006-06-23 13:09:15 -03:00
Roberto Ierusalimschy
ee41bc03ab
details
2006-06-22 13:12:59 -03:00