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 |
|