Commit Graph
100 Commits
Author SHA1 Message Date
Roberto Ierusalimschy fd6e680e21 detail 2015-03-10 11:15:06 -03:00
Roberto Ierusalimschy 57c0db219b line history keep lines without added 'return' 2015-03-09 18:57:05 -03:00
Roberto Ierusalimschy 4ba0cb4580 always use macros to operate on lua_Numbers 2015-03-07 16:30:16 -03:00
Roberto Ierusalimschy a30c66f0fc macro 'luai_apicheck'/'api_check' back with a 'lua_State' parameter
(some people use it)
2015-03-06 16:49:50 -03:00
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.
2015-03-06 16:45:54 -03:00
Roberto Ierusalimschy d7d44b038d detail (use 'lua_pushliteral' to push an empty string) 2015-03-06 16:09:08 -03:00
Roberto Ierusalimschy 297512b34c avoid using 'lua_pushliteral' in a non-zero-terminated string 2015-03-05 13:07:46 -03:00
Roberto Ierusalimschy 2ae2e6408e avoid testing for NULL when marking objects that cannot be NULL 2015-03-04 10:51:55 -03:00
Roberto Ierusalimschy a80cada914 new cache for interning strings 2015-03-04 10:31:21 -03:00
Roberto Ierusalimschy a00013c8d0 'point2int' -> 'point2uint' (to reflect its actual result type) 2015-03-03 16:53:13 -03:00
Roberto Ierusalimschy b9a1f27250 do not attempt emergency collection while building state (it is
useless, and state can be inconsistent)
2015-03-03 15:18:29 -03:00
Roberto Ierusalimschy 29aed28802 detail (use 'luaS_newliteral' when possible) 2015-03-03 15:17:04 -03:00
Roberto Ierusalimschy 951b562cf8 configuration for numerical types through only one #define for
each type
2015-03-02 13:59:01 -03:00
Roberto Ierusalimschy 6408bc0b7f new macros 'chgfltvalue'/'chgivalue' (numerical for loop does
not need to set the type of its internal variable at each iteration)
2015-03-02 13:04:52 -03:00
Roberto Ierusalimschy 91efb4b895 LUA_COMPAT_5_1 needs some options deprecated from 5.2 to 5.3 2015-02-28 16:22:31 -03:00
Roberto Ierusalimschy 27c5b1b237 added patches to two bugs 2015-02-23 16:20:43 -03:00
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
2015-02-20 16:21:29 -02:00
Roberto Ierusalimschy 81245b1ad5 'numisinteger' (for table keys) replaced by 'luaV_tointeger' (old
'tointeger_aux'), which can do the same job.
2015-02-20 12:27:53 -02:00
Roberto Ierusalimschy 397ce11996 make 'hashfloat' configurable 2015-02-20 12:05:01 -02:00
Roberto Ierusalimschy 97f2aa5a44 bug: when manipulating other threads, there is no garanties about
their stack space
2015-02-19 15:06:21 -02:00
Roberto Ierusalimschy 419e2cb01d detail (file does not need 'string.h') 2015-02-16 11:15:00 -02:00
Roberto Ierusalimschy 374f6c4612 detail ('fopen' needs 'stdio.h') 2015-02-16 11:14:33 -02:00
Roberto Ierusalimschy 4bdf9962bf bug: suspended function can have its 'func' field not pointing to
its function, crashing debug functions
2015-02-13 14:01:17 -02:00
Roberto Ierusalimschy e0306e386f some changes in 'hashfloat' to avoid undefined (in ISO C) numerical
conversions
2015-02-13 11:05:34 -02:00
Roberto Ierusalimschy 2e6e53c7cc added API checks to some unprotected 'top' increments 2015-02-11 16:47:22 -02:00
Roberto Ierusalimschy 2a57d2346e detail 2015-02-09 16:05:46 -02:00
Roberto Ierusalimschy 7e425be975 bug (in 5.2): Chunk with too many lines can seg. fault 2015-02-09 15:57:45 -02:00
Roberto Ierusalimschy 0705e7b39f detail (no need to write 'double' in source) 2015-02-09 15:41:54 -02:00
Roberto Ierusalimschy 4ccc4578b3 detail (use 'l_floor' instead of 'l_mathop(floor)') 2015-02-09 13:41:56 -02:00
Roberto Ierusalimschy 5e8c162b6c detail 2015-02-05 15:50:24 -02:00
Roberto Ierusalimschy c8d6cb0136 macros 'luai_num*' (for float arithmetic operations) moved to
llimits.h.
2015-02-05 15:15:33 -02:00
Roberto Ierusalimschy 0edcdf49c0 added comments documenting LUA_NOCVTN2S/LUA_NOCVTS2N 2015-02-05 14:53:34 -02:00
Roberto Ierusalimschy b7dfd18612 make buffer for format specification a little larger (length modifier
can be larger than 2, e.g. "I64")
2015-02-04 10:54:31 -02:00
Roberto Ierusalimschy 8efcd411fe own implementation for 'string.format("%a")' for C89 platforms 2015-02-04 10:52:57 -02:00
Roberto Ierusalimschy 90d016980f detail ('luaL_getmetatable' does not return a boolean, but a tag) 2015-02-03 15:38:24 -02:00
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)
2015-01-16 15:26:56 -02:00
Roberto Ierusalimschy 438a9fcc78 LUAI_MAXSHORTLEN moved from 'luaconf.h' to 'llimits.h' (does not
affect the API and is seldom modified)
2015-01-16 15:15:52 -02:00
Roberto Ierusalimschy 7e2015a46d size of short strings stored in a single byte, to reduce the size
of struct 'TString'
2015-01-16 14:54:37 -02:00
Roberto Ierusalimschy 5b01cb39b5 larger MINSTRTABSIZE (standard Lua starts with ~230 strings, after
oppening the standard libraries)
2015-01-16 13:41:03 -02:00
Roberto Ierusalimschy a0503305bd comments 2015-01-16 11:26:55 -02:00
Roberto Ierusalimschy 965f74525b removed macro LUAI_FIRSTPSEUDOIDX (that stuff does not need
to be configurable)
2015-01-13 17:50:30 -02:00
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
2015-01-13 15:24:22 -02:00
Roberto Ierusalimschy 3509914916 BUG (when compiled with long double): buffer overflow when formatting
string.format("%.99f", 1e4930)
2015-01-13 15:18:25 -02:00
Roberto Ierusalimschy ae27be40c9 better check for overflows in 'table.move' (removes restriction that
initial position should be positive)
2015-01-13 14:27:29 -02:00
Roberto Ierusalimschy cdd26700e8 definition for 'MAXUPVAL' moved for a more "private" place and its
value and comment corrected to reflect current implementation
2015-01-13 13:49:11 -02:00
Roberto Ierusalimschy a9a4bf68b0 typo in comment 2015-01-13 11:18:04 -02:00
Roberto Ierusalimschy f31cc8e342 typo in error message 2015-01-12 17:32:32 -02:00
Roberto Ierusalimschy 3c55790ebe 'setkey' -> 'setnodekey' (to avoid conflicts with POSIX) 2015-01-05 11:52:37 -02:00
Roberto Ierusalimschy 0adfa773b9 new macro 'cast_func' adds '__extension__' (in gnu compilers) when
converting void* to function, to avoid warnings
2015-01-05 11:51:39 -02:00
Roberto Ierusalimschy 3317f5c6d9 includes 'stddef.h' (as it uses NULL) 2015-01-05 11:48:33 -02:00
Roberto Ierusalimschy dbf911c516 detail (added -Wconversion as a comment, to be used ocasionally) 2015-01-02 11:03:52 -02:00
Roberto Ierusalimschy 3a29087cb7 'lua_setlocal' should not pop value when failing (to be consistent
with the manual and with 'lua_setupvalue')
2015-01-02 10:52:22 -02:00
Roberto Ierusalimschy 234fb7f695 clearer(?) code (also avoids a warning about 'c' being used
without initialization)
2015-01-02 10:50:28 -02:00
Roberto Ierusalimschy c077d47465 does not define _XOPEN_SOURCE when LUA_USE_C89 is defined + defining
_XOPEN_SOURCE==0 undefines that macro
2014-12-29 14:54:13 -02:00
Roberto Ierusalimschy 8e5290d81e all "divisions" (div,idiv,mod) by zero are not folded, to avoid
problems during compilation + does not fold zero results, as they
can collapse with -0.0 and the ANSI test to distinguish both needs
a division by zero (which we are trying to avoid) + removed macro
'luai_numinvalidop' (as its main use case were divisions by zero)
2014-12-29 14:49:25 -02:00
Roberto Ierusalimschy a1c37f834a detail (macro 'luai_numidiv' uses 'luai_numdiv' to compute the division) 2014-12-29 11:27:55 -02:00
Roberto Ierusalimschy 1a7868c1d5 bug: 'random' limit is 2^31-1, not RAND_MAX 2014-12-27 18:32:26 -02:00
Roberto Ierusalimschy de3933480e details 2014-12-27 18:31:43 -02:00
Roberto Ierusalimschy 50e2eb8954 change in macro 'vmcase', avoding code inside it. (Code inside the
macro harms tools such as debuggers.)
2014-12-27 18:30:38 -02:00
Roberto Ierusalimschy 94eb37dc73 new year (2015) 2014-12-26 15:24:27 -02:00
Roberto Ierusalimschy 900bdd5761 detail (to avoid warnings) 2014-12-26 12:46:07 -02:00
Roberto Ierusalimschy a51069202a removed macro 'luai_numinvalidop' (main motivation removed, as folding
does not handle any division by zero by default)
2014-12-26 12:44:44 -02:00
Roberto Ierusalimschy fb6796ba06 removed useless initializations 2014-12-26 12:43:45 -02:00
Roberto Ierusalimschy 88ef06f4f3 comments were wrong (not updated about several changes) 2014-12-20 11:58:15 -02:00
Roberto Ierusalimschy eb45f3a9b6 details in 'luaM_reallocvchar' 2014-12-19 15:26:14 -02:00
Roberto Ierusalimschy 6321041058 new macro 'luaM_reallocvchar' to allocate arrays of chars (avoids
uneeded tests and respective warnings)
2014-12-19 11:45:40 -02:00
Roberto Ierusalimschy 2b83711fba new macro 'nvalue' (to convert an object to a float when we know
object is a number)
2014-12-19 11:36:32 -02:00
Roberto Ierusalimschy 3ae21a352c detail (in test for 'luai_numinvalidop', use a round float) 2014-12-19 11:33:06 -02:00
Roberto Ierusalimschy 570143bf88 comment 2014-12-19 11:31:12 -02:00
Roberto Ierusalimschy 1465edf341 old Visual Studio versions did not support 'noreturn' attribute 2014-12-19 11:30:23 -02:00
Roberto Ierusalimschy 77e786d436 stupid bug in T.stacklevel (not in use by the tests) 2014-12-18 10:13:42 -02:00
Roberto Ierusalimschy 6d79752e65 Windows uses 'long long' (instead of '__int64') when present; again,
uses macro LLONG_MAX as a proxy for the support for 'long long'.
2014-12-16 15:17:30 -02:00
Roberto Ierusalimschy 75812a517b added macro LUA_USE_I64 for separate control of use of Windows-specific
types
2014-12-16 14:20:01 -02:00
Roberto Ierusalimschy 151dc5cc5f traverse loaded modules (instead of globals) for a name for a function +
removes prefix '_G.' from names (if present)
2014-12-14 16:32:26 -02:00
Roberto Ierusalimschy 0b6cfea005 comments 2014-12-13 15:57:00 -02:00
Roberto Ierusalimschy c8da3fbc35 in traceback names, give preference to 'name' over '_G.name' 2014-12-13 15:47:58 -02:00
Roberto Ierusalimschy c96cd1c647 reinsertion-control macro renamed: lconfig_h -> luaconf_h 2014-12-12 09:49:32 -02:00
Roberto Ierusalimschy 57e91b4159 correct computation for limit in 'getnum' 2014-12-11 12:03:07 -02:00
Roberto Ierusalimschy ef7d29c666 better limits for 'sting.rep' and 'string.packsize' 2014-12-11 11:40:40 -02:00
Roberto Ierusalimschy 81ecaf6178 new specifiers in 'strftime' are defined in C99 (not Posix) 2014-12-10 13:42:42 -02:00
Roberto Ierusalimschy 27ab59bc16 'ipairs' needs an argument 2014-12-10 10:26:42 -02:00
Roberto Ierusalimschy bd8ce7e331 macro 'LUA_C89_NUMBERS' makes a little easier to use C89 numerical types 2014-12-10 09:56:55 -02:00
Roberto Ierusalimschy 5c519a69d3 new function 'string.packsize' 2014-12-10 09:36:03 -02:00
Roberto Ierusalimschy 6f54b07663 give preference to global names in tracebacks 2014-12-10 09:31:32 -02:00
Roberto Ierusalimschy 741ad97e92 new parameter for testC instruction 'pcall' (error handler) 2014-12-10 09:30:51 -02:00
Roberto Ierusalimschy b4633c586b error handler does not need to be a function (can be a callable
object)
2014-12-10 09:30:09 -02:00
Roberto Ierusalimschy 5fae2a5b05 redefinition of LUAI_MAXSTACK to make stack-overflow tests run faster 2014-12-09 15:17:40 -02:00
Roberto Ierusalimschy 36efa6a6b9 no more 'preloadedlibs' when opening libraries (as it is dead code now) 2014-12-09 13:00:17 -02:00
Roberto Ierusalimschy c6e74e41c9 handle case where function was called as a hook 2014-12-08 13:48:23 -02:00
Roberto Ierusalimschy 6909b5a2b4 In 'debug.gethook', does not query hook table (which may not exist) if
there is no hook set
2014-12-08 13:47:25 -02:00
Roberto Ierusalimschy 594d7266af 'assert' checks that it has (at least) one parameter + 'assert' ensures
it passes only one value to 'error'
2014-12-08 13:26:55 -02:00
Roberto Ierusalimschy ab4a890d04 use 'namewhat' when building a traceback 2014-12-08 13:26:09 -02:00
Roberto Ierusalimschy 64e25a6186 avoid octal numerals 2014-12-08 13:12:07 -02:00
Roberto Ierusalimschy 460968353f in test mode, debug library is not predefined (to allow testing
'preloadedlibs')
2014-12-06 18:42:58 -02:00
Roberto Ierusalimschy 32a1f54b9a no more default size for option 'c' in pack/unpack 2014-12-04 14:25:40 -02:00
Roberto Ierusalimschy 6df197ec15 some functions from test module must be exported 2014-11-29 17:45:37 -02:00
Roberto Ierusalimschy 177807f21e casts ('(int)' -> 'cast_int') 2014-11-29 15:38:33 -02:00
Roberto Ierusalimschy 92f02fff11 bug: lua_tounsignedx must cast to lua_Unsigned (of course...) 2014-11-29 15:24:05 -02:00
Roberto Ierusalimschy 125296c83d next release won't be beta 2014-11-28 17:13:39 -02:00
Roberto Ierusalimschy 9c41d9d1df removed unneeded barrier ('from' must be white) 2014-11-27 16:41:43 -02:00