Commit Graph

296 Commits

Author SHA1 Message Date
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
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
8efcd411fe own implementation for 'string.format("%a")' for C89 platforms 2015-02-04 10:52:57 -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
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
a1c37f834a detail (macro 'luai_numidiv' uses 'luai_numdiv' to compute the division) 2014-12-29 11:27:55 -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
570143bf88 comment 2014-12-19 11:31:12 -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
0b6cfea005 comments 2014-12-13 15:57:00 -02:00
Roberto Ierusalimschy
c96cd1c647 reinsertion-control macro renamed: lconfig_h -> luaconf_h 2014-12-12 09:49:32 -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
ad79eafe86 details (comments) 2014-11-25 16:21:57 -02:00
Roberto Ierusalimschy
049cf14cf9 'x//y' extended to floats + more comments about module and floor
division operations
2014-11-21 10:15:00 -02:00
Roberto Ierusalimschy
244646bdf7 detail (LUAL_BUFFERSIZE has a larger variation among different
platforms)
2014-11-19 13:00:42 -02:00
Roberto Ierusalimschy
c5d52a5468 Windows uses "LONGLONG" option, even not having long long (it has __int64) 2014-11-02 17:35:39 -02:00
Roberto Ierusalimschy
80e817719d default changed from C89 to C99 + extra tests before using C99
features (when possible) + LUA_32BITS use 'int' when possible
('long' can be 64 bits)
2014-10-30 16:50:03 -02:00
Roberto Ierusalimschy
96f3a31b24 Better organization of definitions in categories + removed
'_CRT_SECURE_NO_WARNINGS' (useless there) + LUA_ENV/luai_writestring/
luai_writeline/luai_writestringerror/LUA_INT32/LUAI_UMEM/LUAI_MEM
moved to other places (no need to be in luaconf.h) + changed definition
for LUAL_BUFFERSIZE
2014-10-29 16:01:26 -02:00
Roberto Ierusalimschy
4870194380 small reorganization of tests around LUA_USE_C99 2014-10-27 17:21:56 -02:00
Roberto Ierusalimschy
41d0e66184 comments + Windows numeric types not used if LUA_ANSI is defined 2014-10-27 16:06:03 -02:00
Roberto Ierusalimschy
4b2521cd9e better (and safer?) way to test native size of type 'int' 2014-10-27 14:59:31 -02:00
Roberto Ierusalimschy
c3c78030f7 avoid redeclaration of _CRT_SECURE_NO_WARNINGS + 'lua_numtointeger' ->
'lua_numbertointeger'
2014-10-24 09:42:47 -02:00
Roberto Ierusalimschy
d7a0179cd6 use 'opf' (float) variants only when explicitly allowed (LUA_USE_C99) 2014-10-21 12:38:46 -02:00
Roberto Ierusalimschy
cfa84e1232 does not use 'long long' when LUA_ANSI is set 2014-10-20 14:32:05 -02:00
Roberto Ierusalimschy
f97c64d7bf macros 'LUA_QL'/'LUA_QL' deprecated 2014-10-17 13:28:21 -03:00
Roberto Ierusalimschy
f8e0d33b25 added "_CRT_SECURE_NO_WARNINGS" for Windows (to avoid warnings about
several standard C functions) + small changes in '#include's
2014-10-15 11:53:20 -03:00
Roberto Ierusalimschy
18014ef2fd better handling of systems that do not support 'long long' 2014-10-08 17:32:50 -03:00
Roberto Ierusalimschy
4f4e0e49bb easier way to compile Lua 32 2014-10-03 09:55:44 -03:00
Roberto Ierusalimschy
798660c9cd deprecated "cast macros" ('luaL_checkint', 'luaL_optint', etc.) 2014-10-01 08:54:56 -03:00
Roberto Ierusalimschy
2be88d5084 'lua_Ctx' -> 'lua_Kcontext' 2014-08-01 14:33:08 -03:00
Roberto Ierusalimschy
f9037ae8c1 'ipairs' respects metamethods 2014-07-24 16:33:29 -03:00
Roberto Ierusalimschy
baa0e23456 better support for extra user space associated with a Lua state 2014-07-24 11:00:16 -03:00
Roberto Ierusalimschy
1aa4f69b51 new type 'lua_Ctx' for continuation-function contexts (to allow type
to be configurable)
2014-07-17 10:53:37 -03:00
Roberto Ierusalimschy
a77d263e86 unsigned-manipulation functions (lua_puhsunsigned, lua_tounsigned, etc.)
deprecated
2014-06-26 15:38:28 -03:00
Roberto Ierusalimschy
54ac5960a8 LUA_MAXUNSIGNED was only used to define 2.0^intnumbits (and that
definition was not strictly portable), so it was removed and
replaced by a more correct and direct definition for 2.0^intnumbits
(only where it was needed)
2014-06-24 14:02:00 -03:00
Roberto Ierusalimschy
5784331768 new items in default path for Windows 2014-06-10 16:21:20 -03:00
Roberto Ierusalimschy
11aefa4478 details (comments) 2014-06-01 21:03:16 -03:00
Roberto Ierusalimschy
84db17b6fc more "religious" definition for 'lua_numtointeger' 2014-05-27 10:59:03 -03:00
Roberto Ierusalimschy
c98f195eb9 function 'luaV_numtointeger' changed to a global macro
'lua_numtointeger' (tricky, small, and useful in several places)
2014-05-26 14:10:22 -03:00
Roberto Ierusalimschy
e966e53791 no more use of 'scanf' for reading numbers 2014-05-21 12:24:21 -03:00
Roberto Ierusalimschy
15e8405731 'LUA_COMPAT_ALL' -> 'LUA_COMPAT_5_1'/'LUA_COMPAT_5_2' + "@*" in
comments replaced by "@@". ("@*" is too distracting)
2014-05-15 12:24:32 -03:00
Roberto Ierusalimschy
ec11d132db comments 2014-05-11 10:03:48 -03:00
Roberto Ierusalimschy
0172c9552c comment 2014-04-17 11:41:11 -03:00
Roberto Ierusalimschy
c27ef1b79c correct integer limits for Windows + small adjustments for short
option
2014-04-16 15:45:51 -03:00
Roberto Ierusalimschy
f767f29d87 using predefined limits (instead of computing min/max values for each
type) + some comments
2014-04-14 13:58:54 -03:00
Roberto Ierusalimschy
ab964ad7c6 new macro LUA_MAXUNSIGNED + support for 'short' integers (for tests only) 2014-04-12 11:51:53 -03:00
Roberto Ierusalimschy
d99ffa920d new type 'LUAI_UACINT' (result of an 'usual argument conversion' of
a lua_Integer)
2014-04-11 16:53:45 -03:00
Roberto Ierusalimschy
a8aede68c7 new definition for 'luai_nummod' (using 'fmod') 2014-04-09 14:05:11 -03:00
Roberto Ierusalimschy
be52f784d9 new macros LUA_MAXINTEGER/LUA_MININTEGER 2014-04-03 11:18:02 -03:00
Roberto Ierusalimschy
1a3ebc203a definition of LUA_REAL_* and LUA_INT_* moved to the beginning of
configurations
2014-03-21 11:27:16 -03:00
Roberto Ierusalimschy
282d67d8fc bitlib has been deprecated 2014-03-18 15:27:08 -03:00
Roberto Ierusalimschy
5ff1c18a71 back with 'L' for macros 'luai_num*', but now with a new macro
'luai_numinvalidop' to protect constant folding
2014-03-06 13:15:18 -03:00
Roberto Ierusalimschy
c6c41e85b2 more uniformity for defining system-dependent features 2014-02-26 12:27:56 -03:00
Roberto Ierusalimschy
86dd8bf3f5 no more 'L' in macros "luai_num*" (several places that use those macros
cannot throw errors anyway...)
2014-01-27 11:34:32 -02:00
Roberto Ierusalimschy
73c5515e00 details (comments) 2013-11-21 15:23:14 -02:00
Roberto Ierusalimschy
124598917f "./?/init.lua" added to default path 2013-10-10 12:45:03 -03:00
Roberto Ierusalimschy
b5f5fcd782 use different constants (instead of different values for the same constant)
to define number sizes (LUA_INT_INT/LUA_INT_LONG/LUA_INT_LONGLONG and
LUA_REAL_FLOAT/LUA_REAL_DOUBLE/LUA_REAL_LONGDOUBLE) + use __int64 and
I64 instead of long long (and ll) for Windows
2013-07-09 15:31:35 -03:00
Roberto Ierusalimschy
2b4975dca7 LUA_SMALL_* changed to LUA_*SIZE + added support for long double + better
support for ANSI systems
2013-06-25 16:04:40 -03:00
Roberto Ierusalimschy
45f3797a5b 'long' may have more than 32 bits in some machines; use 'int' for
small lua_Integer unless necessary to use 'long'
2013-06-21 14:42:28 -03:00
Roberto Ierusalimschy
453450d687 new macro 'l_floor' (allows 'floorf' even when other math operations
do not have an 'f' variant)
2013-06-20 12:02:49 -03:00
Roberto Ierusalimschy
0beeb4f6fa configuration of number sizes goes "mainstream" 2013-06-13 16:35:08 -03:00
Roberto Ierusalimschy
3563b3f519 first version of control for number sizes (still in 'local' section) 2013-05-26 10:35:52 -03:00
Roberto Ierusalimschy
d46ed54646 no more IEEE tricks 2013-05-26 10:26:34 -03:00
Roberto Ierusalimschy
8fff05f6d0 integer division operates only on integers 2013-04-29 14:12:12 -03:00
Roberto Ierusalimschy
a2f5c28a80 new operation '//' (integer division) 2013-04-26 10:08:29 -03:00
Roberto Ierusalimschy
944709c77b more definitions to support integer formatting 2013-04-25 10:52:13 -03:00
Roberto Ierusalimschy
75250a237c typos in comments 2013-03-16 18:10:18 -03:00
Roberto Ierusalimschy
181a837cac small improvement in the support of 'float' as lua_Number 2013-01-29 14:00:40 -02:00
Roberto Ierusalimschy
31f7d553e4 LUA_CORE condition removed from definition of some 'tricks' (as it
controlled only a few other defines) + MS_ASMTRICK renamed to
LUA_MSASMTRICK
2012-10-01 11:14:45 -03:00
Roberto Ierusalimschy
4ac55997ec typo 2012-07-13 11:54:14 -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
138be5b843 no more explicit support for 'luaall_c': unifying file can do
the work
2011-12-06 14:58:36 -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
3a997eefb5 MS_ASMTRICK is only valid on MS compilers (not any Windows compiler) 2011-11-25 10:52:27 -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
00c8a17a2d by default, do not use Windows' goodies in Windows CE build 2011-11-05 13:29:05 -02: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
a8675966ec detail: centralize all tests for Windows on variable 'LUA_WIN' 2011-08-23 14:25:42 -03:00
Roberto Ierusalimschy
bae57ea088 'M_IX86' -> '_M_IX86' 2011-07-25 14:20:47 -03:00
Roberto Ierusalimschy
7978a8d8b2 added '_M_IX86' in NaN trick 2011-07-08 17:07:11 -03:00
Roberto Ierusalimschy
49a01c0991 'package.loaders' -> 'package.searchers' 2011-06-28 14:14:12 -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
ee7d0c2649 new macro 'luai_writeline' to print newlines (and flush 'stdout') 2011-05-26 13:09:40 -03:00
Roberto Ierusalimschy
d34271fe42 MacOS 'strtod' handles hexa formats too 2011-04-29 10:56:28 -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
af119c8b55 official support for floating hexa numerals 2010-12-10 17:03:46 -02:00
Roberto Ierusalimschy
81646af13b 'loadstring' deprecated; use 'load' instead 2010-12-08 10:58:04 -02:00
Roberto Ierusalimschy
8c21f463ed 'debug' library is loaded by default 2010-11-12 13:48:30 -02:00
Roberto Ierusalimschy
e885b91326 'luaL_typeerror' deprecated 2010-11-10 15:38:10 -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
b9f371a3c2 added another option for ieeeendian 2010-10-29 09:13:21 -02:00