Roberto Ierusalimschy
a30c66f0fc
macro 'luai_apicheck'/'api_check' back with a 'lua_State' parameter
(some people use it)
10 years ago
Roberto Ierusalimschy
bb4baa73ea
allocation function is not exactly API (and cannot raise errors
like other API functions); better not use 'api_check' for cheking it.
10 years ago
Roberto Ierusalimschy
d7d44b038d
detail (use 'lua_pushliteral' to push an empty string)
10 years ago
Roberto Ierusalimschy
297512b34c
avoid using 'lua_pushliteral' in a non-zero-terminated string
10 years ago
Roberto Ierusalimschy
2ae2e6408e
avoid testing for NULL when marking objects that cannot be NULL
10 years ago
Roberto Ierusalimschy
a80cada914
new cache for interning strings
10 years ago
Roberto Ierusalimschy
a00013c8d0
'point2int' -> 'point2uint' (to reflect its actual result type)
10 years ago
Roberto Ierusalimschy
b9a1f27250
do not attempt emergency collection while building state (it is
useless, and state can be inconsistent)
10 years ago
Roberto Ierusalimschy
29aed28802
detail (use 'luaS_newliteral' when possible)
10 years ago
Roberto Ierusalimschy
951b562cf8
configuration for numerical types through only one #define for
each type
10 years ago
Roberto Ierusalimschy
6408bc0b7f
new macros 'chgfltvalue'/'chgivalue' (numerical for loop does
not need to set the type of its internal variable at each iteration)
10 years ago
Roberto Ierusalimschy
91efb4b895
LUA_COMPAT_5_1 needs some options deprecated from 5.2 to 5.3
10 years ago
Roberto Ierusalimschy
27c5b1b237
added patches to two bugs
10 years ago
Roberto Ierusalimschy
d51bdc166d
bug: 'string.format("%f")' can cause a buffer overflow (with long doubles)
bug: 'debug.getlocal' on a coroutine suspended in a hook can crash
the interpreter
10 years ago
Roberto Ierusalimschy
81245b1ad5
'numisinteger' (for table keys) replaced by 'luaV_tointeger' (old
'tointeger_aux'), which can do the same job.
10 years ago
Roberto Ierusalimschy
397ce11996
make 'hashfloat' configurable
10 years ago
Roberto Ierusalimschy
97f2aa5a44
bug: when manipulating other threads, there is no garanties about
their stack space
10 years ago
Roberto Ierusalimschy
419e2cb01d
detail (file does not need 'string.h')
10 years ago
Roberto Ierusalimschy
374f6c4612
detail ('fopen' needs 'stdio.h')
10 years ago
Roberto Ierusalimschy
4bdf9962bf
bug: suspended function can have its 'func' field not pointing to
its function, crashing debug functions
10 years ago
Roberto Ierusalimschy
e0306e386f
some changes in 'hashfloat' to avoid undefined (in ISO C) numerical
conversions
10 years ago
Roberto Ierusalimschy
2e6e53c7cc
added API checks to some unprotected 'top' increments
10 years ago
Roberto Ierusalimschy
2a57d2346e
detail
10 years ago
Roberto Ierusalimschy
7e425be975
bug (in 5.2): Chunk with too many lines can seg. fault
10 years ago
Roberto Ierusalimschy
0705e7b39f
detail (no need to write 'double' in source)
10 years ago
Roberto Ierusalimschy
4ccc4578b3
detail (use 'l_floor' instead of 'l_mathop(floor)')
10 years ago
Roberto Ierusalimschy
5e8c162b6c
detail
10 years ago
Roberto Ierusalimschy
c8d6cb0136
macros 'luai_num*' (for float arithmetic operations) moved to
llimits.h.
10 years ago
Roberto Ierusalimschy
0edcdf49c0
added comments documenting LUA_NOCVTN2S/LUA_NOCVTS2N
10 years ago
Roberto Ierusalimschy
b7dfd18612
make buffer for format specification a little larger (length modifier
can be larger than 2, e.g. "I64")
10 years ago
Roberto Ierusalimschy
8efcd411fe
own implementation for 'string.format("%a")' for C89 platforms
10 years ago
Roberto Ierusalimschy
90d016980f
detail ('luaL_getmetatable' does not return a boolean, but a tag)
10 years ago
Roberto Ierusalimschy
b3996c55f6
LUAL_BUFFERSIZE affects the API, so it is better not to change it
between releases of the same version. (The long double case seems
to be too rare, so that should not be a problem; moreover, that
case is related to a bug)
10 years ago
Roberto Ierusalimschy
438a9fcc78
LUAI_MAXSHORTLEN moved from 'luaconf.h' to 'llimits.h' (does not
affect the API and is seldom modified)
10 years ago
Roberto Ierusalimschy
7e2015a46d
size of short strings stored in a single byte, to reduce the size
of struct 'TString'
10 years ago
Roberto Ierusalimschy
5b01cb39b5
larger MINSTRTABSIZE (standard Lua starts with ~230 strings, after
oppening the standard libraries)
10 years ago
Roberto Ierusalimschy
a0503305bd
comments
10 years ago
Roberto Ierusalimschy
965f74525b
removed macro LUAI_FIRSTPSEUDOIDX (that stuff does not need
to be configurable)
10 years ago
Roberto Ierusalimschy
3f2e21f0ea
Long double needs a larger LUAL_BUFFERSIZE (because
'string.format("%.99f", 1e4900)' can generate quite long strings),
but otherwise buffer can be 1~2K
10 years ago
Roberto Ierusalimschy
3509914916
BUG (when compiled with long double): buffer overflow when formatting
string.format("%.99f", 1e4930)
10 years ago
Roberto Ierusalimschy
ae27be40c9
better check for overflows in 'table.move' (removes restriction that
initial position should be positive)
10 years ago
Roberto Ierusalimschy
cdd26700e8
definition for 'MAXUPVAL' moved for a more "private" place and its
value and comment corrected to reflect current implementation
10 years ago
Roberto Ierusalimschy
a9a4bf68b0
typo in comment
10 years ago
Roberto Ierusalimschy
f31cc8e342
typo in error message
10 years ago
Roberto Ierusalimschy
3c55790ebe
'setkey' -> 'setnodekey' (to avoid conflicts with POSIX)
10 years ago
Roberto Ierusalimschy
0adfa773b9
new macro 'cast_func' adds '__extension__' (in gnu compilers) when
converting void* to function, to avoid warnings
10 years ago
Roberto Ierusalimschy
3317f5c6d9
includes 'stddef.h' (as it uses NULL)
10 years ago
Roberto Ierusalimschy
dbf911c516
detail (added -Wconversion as a comment, to be used ocasionally)
10 years ago
Roberto Ierusalimschy
3a29087cb7
'lua_setlocal' should not pop value when failing (to be consistent
with the manual and with 'lua_setupvalue')
10 years ago
Roberto Ierusalimschy
234fb7f695
clearer(?) code (also avoids a warning about 'c' being used
without initialization)
10 years ago