Commit Graph

244 Commits

Author SHA1 Message Date
Roberto Ierusalimschy af119c8b55 official support for floating hexa numerals 2010-12-10 17:03:46 -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 c6ef3e2672 bug: by-one error when creating short source names (luaO_chunkid) 2010-10-29 13:54:55 -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 53f9499f7f "light C function" is a better name than "C-function pointer" 2010-04-18 10:22:48 -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 7dfa4cd655 first implementation of light C functions 2010-04-14 12:13:48 -03:00
Roberto Ierusalimschy d394d5536a new macro 'eqstr' 2010-04-05 13:26:37 -03:00
Roberto Ierusalimschy d00d2eaf51 small changes in 'luaO_pushvfstring' 2010-04-02 12:30:27 -03:00
Roberto Ierusalimschy 3bae8e047c typo (thanks to Gavin) 2010-02-05 17:09:09 -02:00
Roberto Ierusalimschy 3c4d970a7b comment typos 2009-11-26 09:39:20 -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 49a67c6d3f new macro 'NILCONSTANT' to initialize nil constants 2009-11-06 15:07:12 -02:00
Roberto Ierusalimschy 6a024df440 new function 'luaO_arith' to perform basic arithmetic operations 2009-06-17 14:48:34 -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 6905ae900b Lua now uses "homemade" lctype (instead of ctype.h from ANSI C) 2009-02-19 14:33:51 -03:00
Roberto Ierusalimschy a76fa25199 'ceillog2' now is exported (other modules may need it) 2008-01-30 16:05:23 -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 ad60b3ead7 avoid the use of "exotic" libc functions 2007-11-09 16:54:25 -02:00
Roberto Ierusalimschy 94d40f3980 luaO_log2 can be private to ltable.c 2007-04-10 09:18:17 -03:00
Roberto Ierusalimschy 4d7cfff6df comments 2006-11-22 09:02:03 -02:00
Roberto Ierusalimschy 3ca9af51a4 emergency garbage collector (core forces a GC when allocation fails) 2006-07-11 12:53:29 -03:00
Roberto Ierusalimschy 298ae7e230 complete support for hexadecimal constants 2006-02-10 15:43:52 -02:00
Roberto Ierusalimschy dd1221582b details 2006-01-10 10:50:00 -02:00
Roberto Ierusalimschy c505f341d6 small changes in casts 2005-12-22 14:19:56 -02:00
Roberto Ierusalimschy 8e48ebb638 no more L in numer-operator macros (some functions that use those macros
have no access to L)
2005-10-24 15:37:52 -02:00
Roberto Ierusalimschy 95f3eefa5b small optimization 2005-08-01 01:22:23 -03:00
Roberto Ierusalimschy 1a343814d8 details 2005-07-31 14:12:32 -03:00
Roberto Ierusalimschy c2f065f405 detail 2005-07-11 15:48:02 -03:00
Roberto Ierusalimschy 90de38bf1f warnings in VS .Net 2005-05-31 11:25:18 -03:00
Roberto Ierusalimschy f21e9c172f details 2005-05-20 12:53:42 -03:00
Roberto Ierusalimschy c2bb9abcec better quotes for strings in error messages 2005-05-16 18:19:00 -03:00
Roberto Ierusalimschy 04c41444e2 wrong comment corrected 2005-03-28 09:53:40 -03:00
Roberto Ierusalimschy 370d31a559 `luac´ -> `luai' (to avoid confusion with other luac stuff) 2005-03-09 13:28:07 -03:00
Roberto Ierusalimschy f8df21bd20 `luaconf.h´ exports all its definitions always (so all of them
must have a lua/LUA prefix).
2005-03-08 17:10:05 -03:00
Roberto Ierusalimschy b5b230d95c fewer #include's in luaconf.h 2005-03-08 15:09:16 -03:00
Roberto Ierusalimschy 8ddfe3df29 macros for all arithmetic operations over lua_Numbers 2005-01-10 16:17:39 -02:00
Roberto Ierusalimschy 1d99a7360b details 2004-11-24 17:16:03 -02:00
Roberto Ierusalimschy 737ec947d3 better implementation for `floating-point bytes' 2004-11-01 12:06:50 -03:00
Roberto Ierusalimschy bd38017ddf small optimization for table size in machines with double allignment 2004-10-06 15:34:16 -03:00
Roberto Ierusalimschy 76d8b8db06 `lua_pushfstring' now supports `%p' option too 2004-07-09 13:01:38 -03:00
Roberto Ierusalimschy 1c459b881f accept `\r' as newline when looking for line end 2004-05-03 09:30:41 -03:00
Roberto Ierusalimschy b4cd38ba6c new scheme for configuration through `luaconf.h' 2004-04-30 17:13:38 -03:00
Roberto Ierusalimschy 47fc57a252 `TObject' renamed to `TValue' + other name changes and better assertions
for incremental garbage collection
2003-12-10 10:13:36 -02:00
Roberto Ierusalimschy b93f67f2ce detail 2003-06-10 09:36:26 -03:00
Roberto Ierusalimschy 01b303c87e simpler log2 implementation 2003-04-28 10:30:14 -03:00
Roberto Ierusalimschy 0d88545b82 warnings from several compilers (mainly typecasts when lua_Number is float) 2003-04-03 10:35:34 -03:00
Roberto Ierusalimschy 60c83ded30 small optimization for sizes of array constructors 2003-02-18 13:02:56 -03:00
Roberto Ierusalimschy 635b7c707d details 2003-01-27 11:00:43 -02:00
Roberto Ierusalimschy 27c6b4d422 each .c file defines its own name 2002-12-04 15:38:31 -02:00
Roberto Ierusalimschy ddc144e4d2 keep L->ci->base in L->base for faster access 2002-11-21 13:16:04 -02:00
Roberto Ierusalimschy dff9be4224 new macros to distinguish different types of object moves (for future GC
evolution).
2002-11-07 13:37:10 -02:00
Roberto Ierusalimschy 84e0b1bc97 small changes in type configuration facilities 2002-10-22 14:18:28 -03:00
Roberto Ierusalimschy b3d0682fb9 use of different buffers for scanner and concatenation 2002-10-08 15:46:08 -03:00
Roberto Ierusalimschy 829befcc41 small optimization for object comparison 2002-10-04 11:31:03 -03:00
Roberto Ierusalimschy 565e6d74e1 state's buffer is used only for chars 2002-09-19 10:03:53 -03:00
Roberto Ierusalimschy 4964e7c8a0 details 2002-09-02 16:54:49 -03:00
Roberto Ierusalimschy c1c100a0c0 warnings in other compilers 2002-08-07 11:35:55 -03:00
Roberto Ierusalimschy 79c8edb6c4 new names for light userdata operations 2002-07-17 13:25:13 -03:00
Roberto Ierusalimschy 864c96f36c new fallback for equality `__eq' 2002-06-13 10:39:55 -03:00
Roberto Ierusalimschy fa23301251 defintions for lua_number2str and lua_str2number don't need to be public 2002-06-05 09:34:19 -03:00
Roberto Ierusalimschy 5094c37988 `strconc' -> `concat' 2002-06-03 11:08:43 -03:00
Roberto Ierusalimschy 955def0348 new names for string formating functions 2002-05-16 15:39:46 -03:00
Roberto Ierusalimschy b7a0503c1d new format for error messages 2002-05-15 15:57:44 -03:00
Roberto Ierusalimschy dea6b6da94 new function `lua_vpushstr' to replace uses of `sprintf' 2002-05-07 14:36:56 -03:00
Roberto Ierusalimschy 0dbf0c5953 new format for test intructions (handle NaN correctly) 2002-05-06 12:51:41 -03:00
Roberto Ierusalimschy f388ee4a82 new way to handle errors 2002-04-22 11:40:23 -03:00
Roberto Ierusalimschy 237969724f support for `light' userdata + simpler support for `boxed' udata 2002-04-05 15:54:31 -03:00
Roberto Ierusalimschy 53aaee6ee6 comments 2002-02-07 15:25:12 -02:00
Roberto Ierusalimschy f856fdeabd details 2002-01-30 15:28:05 -02:00
Roberto Ierusalimschy 9aff171f3b new type `boolean' 2001-12-11 20:48:44 -02:00
Roberto Ierusalimschy 72659a0605 no more explicit support for wide-chars; too much troble... 2001-11-28 18:13:13 -02:00
Roberto Ierusalimschy 21aa7e55f2 optimization for array part of a Table 2001-10-25 17:14:14 -02:00
Roberto Ierusalimschy dd3a63c205 new way to handle `profiles' 2001-03-26 11:31:49 -03:00
Roberto Ierusalimschy 72d3d155b0 detail 2001-03-07 09:27:06 -03:00
Roberto Ierusalimschy dfd7ce74cf buffer should be void *, as char now is not that neutral... 2001-02-23 17:32:16 -03:00
Roberto Ierusalimschy 39b7978329 first (big) step to support wide chars 2001-02-23 14:17:25 -03:00
Roberto Ierusalimschy 52ee91dd73 better encapsulation of some types 2001-02-22 14:15:18 -03:00
Roberto Ierusalimschy 099442c41f better separation between basic types 2001-02-20 15:15:33 -03:00
Roberto Ierusalimschy 426d3e43bd lock/unlock may use L + better structure for internal debug stuff 2001-02-02 13:13:05 -02:00
Roberto Ierusalimschy 63a822c8e1 all boxed types start with their tags 2001-01-29 17:34:02 -02:00
Roberto Ierusalimschy ac390020e9 optimizations based on all types but number and nil are pointers 2001-01-26 12:16:35 -02:00
Roberto Ierusalimschy a53d9b66ca first implementation for type names 2001-01-25 14:45:36 -02:00
Roberto Ierusalimschy 71ae4801d6 macros LUA_ENTRY/LUA_EXIT to control exclusive access to Lua core 2001-01-24 13:45:33 -02:00
Roberto Ierusalimschy 4ac58853dc thead-specific state separated from "global" state 2001-01-19 11:20:30 -02:00
Roberto Ierusalimschy 0183b8030c `free' gets size of the block: complete control over memory use 2000-12-28 10:55:41 -02:00
Roberto Ierusalimschy 4894c27962 lua_Number defined in lua.h (1st version) 2000-12-04 16:33:40 -02:00
Roberto Ierusalimschy 96253ed8ce better support for 64-bit machines (avoid excessive use of longs) 2000-11-24 15:39:56 -02:00
Roberto Ierusalimschy 8b88ab07f7 more controled use of `sprintf' 2000-10-20 14:36:32 -02:00
Roberto Ierusalimschy 0ffc676ce7 details 2000-10-11 14:47:50 -02:00
Roberto Ierusalimschy d6232a0b2e better treatment for source names 2000-10-09 11:47:32 -02:00
Roberto Ierusalimschy 001f2bdd0e new definition for types-tags 2000-10-05 09:14:08 -03:00
Roberto Ierusalimschy 6759f3ec5e no more `proprietary' convertion algorithm (too complex) 2000-10-03 11:03:21 -03:00
Roberto Ierusalimschy f6834f4393 new API function `lua_type' + new type lua_Type 2000-10-02 17:10:55 -03:00
Roberto Ierusalimschy dad808a73a new way to count `nblocks' for GC (try to count bytes). 2000-09-29 09:42:13 -03:00
Roberto Ierusalimschy 0f59e3d7a7 details 2000-09-12 10:47:39 -03:00
Roberto Ierusalimschy 8060193702 `lauxlib' is now part of the libraries (not used by core Lua) 2000-09-11 17:29:27 -03:00
Roberto Ierusalimschy 787a78f83e new scheme for buffers 2000-09-11 14:38:42 -03:00
Roberto Ierusalimschy 9e84bf18db still more debug information 2000-08-11 13:17:28 -03:00
Roberto Ierusalimschy e238efc536 default now is multi-state 2000-08-09 16:16:57 -03:00
Roberto Ierusalimschy cfba572076 remove dummy argument in LUA_ASSERT 2000-06-30 11:35:17 -03:00
Roberto Ierusalimschy afef009fce new version of debug system 2000-06-26 16:28:31 -03:00
Roberto Ierusalimschy 1de5587184 `lua.h' is included before any other Lua header file 2000-06-12 10:52:05 -03:00
Roberto Ierusalimschy 8ca9534d04 access to `values' in TObject always through macros 2000-06-08 15:27:13 -03:00
Roberto Ierusalimschy ef62b340e0 code cleaner for 16 bits. 2000-05-24 10:54:49 -03:00
Roberto Ierusalimschy 84790bb953 "conceptual" bug 2000-04-26 10:43:10 -03:00
Roberto Ierusalimschy 534c3a64d3 small optimizations for table access 2000-04-25 13:55:09 -03:00
Roberto Ierusalimschy 36e1390631 details. 2000-03-31 13:28:45 -03:00
Roberto Ierusalimschy a69356e9e0 no more special cases for closures with 0 upvalues (performance is the same,
memory use a little higher, code much simpler).
2000-03-29 17:19:20 -03:00
Roberto Ierusalimschy b53dc0c485 TAG_ARRAY -> TAG_TABLE 2000-03-27 17:10:21 -03:00
Roberto Ierusalimschy 73aa465a8e some name changes 2000-03-10 15:37:44 -03:00
Roberto Ierusalimschy 3c9d999424 many details (most by lhf). 2000-03-03 11:58:26 -03:00
Roberto Ierusalimschy 1f01998516 nobody uses memmove any more. 2000-02-17 16:30:36 -02:00
Roberto Ierusalimschy d83c2a8455 performance details. 2000-01-25 16:44:21 -02:00
Roberto Ierusalimschy bcdbdaccc3 more debug information (still with bug for tag methods...) 1999-12-30 16:28:40 -02:00
Roberto Ierusalimschy b1b0c219f5 new ttypes to distinguish between C closures and Lua closures. 1999-12-23 16:19:57 -02:00
Roberto Ierusalimschy 1b15206cf9 many details + code redistribution 1999-12-14 16:33:29 -02:00
Roberto Ierusalimschy d015f1fc02 table sizes don't need to be primes; power of 2 gives the same performance. 1999-11-26 16:59:20 -02:00
Roberto Ierusalimschy 29ede6aa13 first implementation of multiple states (reentrant code). 1999-11-22 11:12:07 -02:00
Roberto Ierusalimschy 4343420d4d simplified version of `gc' tag method (only for userdata now). 1999-10-04 15:51:04 -02:00
Roberto Ierusalimschy ae3ecc2d4a tonumber'e1' and tonumber(' ', x), for x!=10, gave 0 instead of nil. 1999-09-08 17:45:18 -03:00
Roberto Ierusalimschy ff9c0da783 test first the most common case. 1999-09-06 17:19:22 -03:00
Roberto Ierusalimschy 82699d0c4f new interface for `luaO_strtod', which now checks signal, too. 1999-09-06 10:55:09 -03:00
Roberto Ierusalimschy c787dccd9b "const" !!! 1999-08-16 17:52:00 -03:00
Roberto Ierusalimschy 0bbd96bd5f details. 1999-04-13 16:28:49 -03:00
Roberto Ierusalimschy ba57f7d946 details 1999-02-26 12:48:30 -03:00
Roberto Ierusalimschy bf6d2ccf92 details 1999-02-12 17:23:02 -02:00
Roberto Ierusalimschy e03767b3eb details (comments) 1999-01-13 17:08:37 -02:00
Roberto Ierusalimschy 63a752f961 small improvements. 1999-01-04 11:37:07 -02:00
Roberto Ierusalimschy 4c94d8cc2c new function "luaO_str2d" to convert strings to numbers, because
old "lex" algorithm had aproximation errors, but strtod (and atof
and scanf) are too slow.
1998-12-27 18:25:20 -02:00
Roberto Ierusalimschy 9618aaf07d small corrections in comments 1998-06-19 13:14:09 -03:00
Roberto Ierusalimschy c9902be294 "findname" moved from lobject.c to lauxlib.c (so libraries may use it). 1998-06-18 13:57:03 -03:00
Roberto Ierusalimschy 0969a971cd better use of "ASSERT". 1998-03-09 18:49:52 -03:00
Roberto Ierusalimschy 0e1058cfdd small optimizations in switch order 1998-01-09 12:44:55 -02:00
Roberto Ierusalimschy da96eb2cce some details related to OLD_ANSI 1997-12-26 16:38:16 -02:00
Roberto Ierusalimschy 45e533599f optimization: closures without upvalues don't need to be closures 1997-12-15 14:17:20 -02:00
Roberto Ierusalimschy 592a3f289b first implementation of centralized global state. 1997-11-19 15:29:23 -02:00
Roberto Ierusalimschy 7135803cc8 "global" version of a nil object. 1997-11-03 18:45:23 -02:00
Roberto Ierusalimschy e78cf96c97 first version of Cclosures. 1997-10-24 15:17:24 -02:00
Roberto Ierusalimschy 907368ead5 GC now considers an "estimate" of object size, instead of just the number
of objects.
1997-10-23 14:26:37 -02:00
Roberto Ierusalimschy 52d5e8032c better identification of types which are tags 1997-10-16 18:07:40 -02:00
Roberto Ierusalimschy eb617df2d8 better way to traverse GCnode lists. 1997-09-26 13:46:20 -03:00
Roberto Ierusalimschy c1801e623f Some generic functions over Lua objects 1997-09-16 16:25:59 -03:00