Commit Graph

515 Commits

Author SHA1 Message Date
Roberto Ierusalimschy
53f9499f7f "light C function" is a better name than "C-function pointer" 2010-04-18 10:22:48 -03:00
Roberto Ierusalimschy
e7ffb1b501 macro LUA_USE_LONGJMP allows choosing longjmp when compiling Lua as
C++ code
2010-04-18 09:41:35 -03:00
Roberto Ierusalimschy
7dfa4cd655 first implementation of light C functions 2010-04-14 12:13:48 -03:00
Roberto Ierusalimschy
055104f5b6 keep memory-error message in the global state, so that its use
does not depend on Lua internalizing strings to avoid a string
creation on memory errors
2010-04-08 14:16:46 -03:00
Roberto Ierusalimschy
064e406f67 no more fenvs! 2010-03-26 17:58:11 -03:00
Roberto Ierusalimschy
4c54cd3a10 when yielding, original 'func' value must be kept and restored so
that 'poscall' puts results in the right slot.
2010-02-09 09:56:29 -02:00
Roberto Ierusalimschy
0c7de97d47 correct error message when yielding from outside a coroutine 2010-01-13 14:17:32 -02:00
Roberto Ierusalimschy
f84b575cfa no more pseudoindex LUA_GLOBALSINDEX; global table now accessible
through registry
2009-12-22 13:32:50 -02:00
Roberto Ierusalimschy
e0f9d1c8f5 removed export of function only for coco 2009-12-17 10:28:57 -02:00
Roberto Ierusalimschy
de6fc75d63 several configuration options that do not change often moved out of
luaconf.h and into more internal files
2009-12-17 10:26:09 -02:00
Roberto Ierusalimschy
2bb19ccf08 reordering of some functions + cleaner way to code lua_resume/resume +
small bug in lua_resume (in case of calling errors lua_resume should
remove only new arguments from the stack and push error message).
2009-12-10 16:20:07 -02:00
Roberto Ierusalimschy
2643da67c6 error messages from 'lua_resume' must be generated in protected mode,
to avoid raising memory errors
2009-12-08 16:59:24 -02:00
Roberto Ierusalimschy
3e41afcec5 extra api checks for number of returns of C functions and for lua_yield 2009-11-27 13:37:59 -02:00
Roberto Ierusalimschy
b0f2b288a6 new scheme for debug info about tail calls: no more 'fake' stack entries,
but stack entry knows whether it was tail called
2009-11-25 13:27:51 -02:00
Roberto Ierusalimschy
2d5931ebc8 ensure that reader function cannot yield during parsing 2009-11-17 14:46:44 -02:00
Roberto Ierusalimschy
35fa276099 parser/scanner keep GC running 2009-11-17 14:33:38 -02:00
Roberto Ierusalimschy
5bc91c6405 no more one environment per thread: all threads share a single global
environment
2009-10-23 17:12:19 -02:00
Roberto Ierusalimschy
916587508c parser keeps list of active local variables in a single dynamic array,
therefore saving C stack space
2009-10-11 17:02:19 -03:00
Roberto Ierusalimschy
5938212748 information about upvalues (where they come from) kept in Proto structure,
instead of sequence of pseudo-opcodes after OP_CLOSURE
2009-09-28 13:32:50 -03:00
Roberto Ierusalimschy
0e45ffb8e4 first implementation of 'lua_yieldk' (yield with continuation) 2009-09-14 11:30:39 -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
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
019ebcb85f errors in finalizers are propagated with code LUA_ERRGCMM (ERRor in
__gc MetaMethod)
2009-05-21 17:06:11 -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
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
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
70a63fa5ad first implementation of yieldable 'pcall' 2009-04-08 15:04:33 -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
ba484b9eb1 yielding across lua_call (first version) 2009-03-10 14:14:37 -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
910310d3ba if thread has no error handling, try main thread handler before panicking 2009-03-03 15:51:24 -03:00
Roberto Ierusalimschy
2b579b4b83 panic mode does not reset stack (so that panic function can gather
debug information from it)
2009-02-18 11:52:03 -03:00
Roberto Ierusalimschy
b472098493 concat TM can yield 2008-11-06 10:43:51 -02:00
Roberto Ierusalimschy
84b3daebbd generic for coded as two dedicated instructions to simplify resumption 2008-10-30 13:39:30 -02:00
Roberto Ierusalimschy
f6978173e0 yields accross metamethods and for iterators (except for __concat) 2008-10-28 14:53:16 -02:00
Roberto Ierusalimschy
f94cd2201c better control of call status through CallInfo 2008-08-26 10:27:42 -03:00
Roberto Ierusalimschy
fdbb243ff9 first steps towards yielding through longjump 2008-08-13 14:02:42 -03:00
Roberto Ierusalimschy
e7c989baf1 avoid calling "tail return" hooks if the hook itself turns off the event 2008-01-18 20:36:50 -02:00
Roberto Ierusalimschy
5f4f0d4a63 no more optimization to avoid LOADNIL at function start 2007-03-27 11:11:38 -03:00
Roberto Ierusalimschy
afa0d0ac0d new constant LUA_OK 2006-10-10 14:40:17 -03:00
Roberto Ierusalimschy
d1ef7e0ec6 avoid local "pc" in interpreter loop (tricky optimization with no real gain) 2006-09-19 10:57:50 -03:00
Roberto Ierusalimschy
a7c9e45c64 avoid trailing white spaces 2006-09-11 11:07:24 -03:00
Roberto Ierusalimschy
c473818017 avoid "too complex" conditional expression (some compilers get confused...) 2006-09-11 09:44:56 -03:00
Roberto Ierusalimschy
93bf618504 BUG: there is only one C stack, so nCcalls must be global 2006-08-15 16:59:20 -03:00
Roberto Ierusalimschy
3ca9af51a4 emergency garbage collector (core forces a GC when allocation fails) 2006-07-11 12:53:29 -03:00
Roberto Ierusalimschy
a62fca1ebb BUG: debug hooks may get wrong when mixed with coroutines 2006-06-05 16:36:45 -03:00
Roberto Ierusalimschy
c505f341d6 small changes in casts 2005-12-22 14:19:56 -02:00
Roberto Ierusalimschy
201288b4df small bug 2005-10-23 15:52:42 -02:00
Roberto Ierusalimschy
b3f81f1d1d small bug when debugging dead threads 2005-10-14 13:23:33 -03:00
Roberto Ierusalimschy
37b49aa451 detail 2005-10-06 17:44:22 -03:00
Roberto Ierusalimschy
2d2f955763 detail 2005-09-09 15:16:28 -03:00
Roberto Ierusalimschy
98296f6b45 some bugs related to stack reallocation 2005-08-24 13:15:49 -03:00
Roberto Ierusalimschy
23b79c5945 small changes to facilitate external C coroutines 2005-08-22 16:58:29 -03:00
Roberto Ierusalimschy
6fcd334ca0 small improvements 2005-08-22 15:54:49 -03:00
Roberto Ierusalimschy
44b19075c0 small changes (to easy integration with Coco) 2005-08-09 16:49:04 -03:00
Roberto Ierusalimschy
575637319e better recovery at panic 2005-07-11 11:00:31 -03:00
Roberto Ierusalimschy
34aac33c15 detail 2005-06-13 18:17:59 -03:00
Roberto Ierusalimschy
bf2b342ac1 better control for compatibility code for varargs 2005-06-13 11:15:54 -03:00
Roberto Ierusalimschy
90de38bf1f warnings in VS .Net 2005-05-31 11:25:18 -03:00
Roberto Ierusalimschy
38da9d568a better use defined/undefined as flag values for macros 2005-05-20 16:09:05 -03:00
Roberto Ierusalimschy
b320d37a80 better tests for correctness of `savedpc' 2005-05-03 16:01:17 -03:00
Roberto Ierusalimschy
7b6c3b463e small optimizations 2005-04-05 10:41:29 -03:00
Roberto Ierusalimschy
e6e543a534 better control for compatibility code 2005-03-29 13:20:48 -03:00
Roberto Ierusalimschy
ade585bdf9 no more LUA_FIRSTINDEX 2005-03-28 14:17:53 -03:00
Roberto Ierusalimschy
fb0f95a2b7 call limit may be larger than shorts 2005-03-18 15:55:09 -03:00
Roberto Ierusalimschy
4494094031 detail 2005-03-16 17:02:48 -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
7d45a5f48f C functions and userdata also have environments 2005-02-18 10:40:02 -02:00
Roberto Ierusalimschy
c78940f21a static names do not need `luaX_' prefix 2004-12-03 18:50:25 -02:00
Roberto Ierusalimschy
12dacd3c0e added an `L' parameter to macros L_TRY & L_THROW (someone may need it). 2004-12-01 13:52:54 -02:00
Roberto Ierusalimschy
8b5bb6056b removal of unused variable 2004-09-22 09:37:52 -03:00
Roberto Ierusalimschy
2419f2bf02 cleaner API for coroutines 2004-09-15 17:39:42 -03:00
Roberto Ierusalimschy
0de2065f4e tighter tests for stack overflow 2004-09-08 11:23:09 -03:00
Roberto Ierusalimschy
ee165043ef two bugs related to varargs 2004-09-03 12:48:56 -03:00
Roberto Ierusalimschy
e8d4fe7236 new macro lua_threadyield' + lock stuff in luaconf.h' + details 2004-06-02 16:07:55 -03:00
Roberto Ierusalimschy
616438fe9a new way to use vararg' parameters (with ...') 2004-05-31 15:51:50 -03:00
Roberto Ierusalimschy
0bda88e6cd small steps towards yields in iterators and tag methods 2004-05-14 16:25:09 -03:00
Roberto Ierusalimschy
7e41612eb2 code parameterized by LUA_FIRSTINDEX (first index of an array) 2004-05-10 14:50:51 -03:00
Roberto Ierusalimschy
b4cd38ba6c new scheme for configuration through `luaconf.h' 2004-04-30 17:13:38 -03:00
Roberto Ierusalimschy
26a9b249db details 2004-03-24 12:46:49 -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
921b1723e2 comments 2003-11-11 14:34:17 -02:00
Roberto Ierusalimschy
c51bcf4796 it's ok to dump functions with upvalues 2003-10-20 15:42:41 -02:00
Roberto Ierusalimschy
9914e1bcdd detail 2003-10-20 10:24:26 -02:00
Roberto Ierusalimschy
6becdb3e70 details 2003-10-03 13:04:11 -03:00
Roberto Ierusalimschy
6063c5c61f bug: cannot invalidate a running coroutine 2003-09-05 11:30:59 -03:00
Roberto Ierusalimschy
8332d5c8a5 parser fully reentrant(!) 2003-08-27 18:01:44 -03:00
Roberto Ierusalimschy
b114142799 new auxiliary function `luaH_setstr' 2003-08-26 09:04:13 -03:00
Roberto Ierusalimschy
9fcc485176 zio does not keep "source" name (nobody uses it) 2003-08-25 16:51:54 -03:00
Roberto Ierusalimschy
522407e23a we do not need a default panic (that does nothing anyway...) 2003-07-16 17:51:47 -03:00
Roberto Ierusalimschy
fa26d294ae new way to control `pc' of running functions 2003-07-16 17:49:02 -03:00
Roberto Ierusalimschy
9eb0f25a29 no more compatibility code for 4.0 2003-05-14 18:02:39 -03:00
Roberto Ierusalimschy
c767747191 new (internal) macros for error handling 2003-05-13 16:22:19 -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
69dd9461e5 bug: GC metamethod calls could mess C/Lua stack syncronization 2003-02-28 16:45:15 -03:00
Roberto Ierusalimschy
ea16ee41a8 no more attempt to optimize GC when parsing new modules (too complex) 2003-02-28 12:42:08 -03:00
Roberto Ierusalimschy
92f6e0c1bf no-nonsense debug information about tail calls 2003-02-27 08:52:30 -03:00
Roberto Ierusalimschy
15db58a2f5 create arg table with correct size 2003-02-13 14:08:47 -02:00
Roberto Ierusalimschy
e44e579dc1 bug: luaD_protectedparser must protect its garbage collection too 2003-01-23 09:31:38 -02:00
Roberto Ierusalimschy
27c6b4d422 each .c file defines its own name 2002-12-04 15:38:31 -02:00
Roberto Ierusalimschy
0bb8eb5151 new function `lua_cpcall' 2002-12-04 15:29:32 -02:00
Roberto Ierusalimschy
dbc5451bea comments 2002-11-22 16:01:46 -02:00
Roberto Ierusalimschy
2d2d45976c separated control over C recursion level 2002-11-22 15:16:52 -02:00
Roberto Ierusalimschy
5142e630bf new macro `condhardstacktests' to control hard stack tests 2002-11-21 15:19:11 -02:00
Roberto Ierusalimschy
be00cd2a6b easier way to keep `base' correct 2002-11-21 13:46:44 -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
636c629e56 new assertions 2002-11-18 16:45:38 -02:00
Roberto Ierusalimschy
9bab2cf55d support for yield inside hooks 2002-11-18 13:24:11 -02:00
Roberto Ierusalimschy
43013b39cc new representation for hooks (to allow asynchronous calls to sethook) 2002-11-18 09:01:55 -02:00
Roberto Ierusalimschy
41fd639cab documentation for write barriers 2002-11-14 14:15:53 -02:00
Roberto Ierusalimschy
2f91f95d94 better control over GCObjects 2002-11-13 09:32:26 -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
118347d8c3 new API for coroutines 2002-11-06 17:08:00 -02:00
Roberto Ierusalimschy
96e15b8501 threads now are real Lua objects, subject to garbage collection 2002-10-25 17:05:28 -03:00
Roberto Ierusalimschy
46b063ef59 `undump' also uses private buffer 2002-10-09 10:42:01 -03:00
Roberto Ierusalimschy
b3d0682fb9 use of different buffers for scanner and concatenation 2002-10-08 15:46:08 -03:00
Roberto Ierusalimschy
7c0ccdfd61 avoid the use of "enum" in the API, as they do not have a fixed representation 2002-09-02 17:00:41 -03:00
Roberto Ierusalimschy
fdafd4f4a8 new structure for collectable objects, sharing a common header 2002-08-30 16:09:21 -03:00
Roberto Ierusalimschy
08da48a73c detail 2002-08-07 17:55:00 -03:00
Roberto Ierusalimschy
5016f43aa4 (much) cleaner way to control function states 2002-08-07 16:22:39 -03:00
Roberto Ierusalimschy
a2fa48a570 new (old?) error handling scheme 2002-08-06 12:32:22 -03:00
Roberto Ierusalimschy
4e23699aa6 new implementation for error handling 2002-08-05 14:36:24 -03:00
Roberto Ierusalimschy
e5146fb01f CallInfo has different fields for C functions and Lua functions 2002-07-16 11:26:56 -03:00
Roberto Ierusalimschy
c51aa6ee33 details 2002-07-09 15:19:19 -03:00
Roberto Ierusalimschy
39b2d58c39 new interface for debug hooks 2002-07-08 15:21:33 -03:00
Roberto Ierusalimschy
3e52573c72 details (error messages) 2002-07-04 09:29:32 -03:00
Roberto Ierusalimschy
88607acc2c details 2002-06-26 13:37:23 -03:00
Roberto Ierusalimschy
3941af53ad first implementation of independent global table per function 2002-06-20 17:41:46 -03:00
Roberto Ierusalimschy
eec0905173 better tests (assertions) for debug hooks 2002-06-18 14:42:52 -03:00
Roberto Ierusalimschy
6ee2dbdfe9 traceback stops at first protected call 2002-06-18 14:10:43 -03:00
Roberto Ierusalimschy
1dbe708aa8 new protocol for error handling 2002-06-18 12:19:27 -03:00
Roberto Ierusalimschy
94c2449d25 undump may return LUA_ERRRUN 2002-06-03 17:12:50 -03:00
Roberto Ierusalimschy
35a22ed1ab lua_load* replaced by a simple lua_load 2002-06-03 14:46:34 -03:00
Roberto Ierusalimschy
46c471d7e9 new `__newindex' eventfield 2002-05-27 17:35:40 -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
751cd867d3 new way to handle errors 2002-05-01 17:48:12 -03:00
Roberto Ierusalimschy
ee4859b3e3 new way to handle errors (temporary version) 2002-04-22 11:40:50 -03:00
Roberto Ierusalimschy
c11d374c59 `panic' function configurable via API 2002-04-16 14:08:28 -03:00
Roberto Ierusalimschy
62dd4cbe91 check for errors while loading file 2002-04-15 16:34:42 -03:00
Roberto Ierusalimschy
f1f271ae76 details 2002-04-10 15:05:08 -03:00
Roberto Ierusalimschy
81215cd59f simpler way to control stack overflow 2002-03-26 17:46:10 -03:00
Roberto Ierusalimschy
44a5484d73 small bug (L->ci->top may be larger than L->top...) 2002-03-25 16:45:06 -03:00
Roberto Ierusalimschy
801aaf37b1 simpler implementation for line information 2002-03-25 14:47:14 -03:00
Roberto Ierusalimschy
63a614e145 some improvements in stack control 2002-03-20 09:52:32 -03:00
Roberto Ierusalimschy
da81845cd5 an error may call GC and find an incomplete `ci' 2002-03-15 14:17:16 -03:00
Roberto Ierusalimschy
71c716e5a8 avoid C identifiers beginning with '_' 2002-03-11 09:45:00 -03:00
Roberto Ierusalimschy
e19eba7219 cannot store `top' in local variables... 2002-03-08 16:11:03 -03:00
Roberto Ierusalimschy
8f837e83b2 using `ci->top' to control acceptable indices in C calls 2002-03-07 15:14:29 -03:00
Roberto Ierusalimschy
b0a5e156b8 no more maximum stack size 2002-02-14 19:47:29 -02:00
Roberto Ierusalimschy
e01f5e6809 better order of record fields for 64-bit machines 2002-02-08 20:42:41 -02:00
Roberto Ierusalimschy
addbe8c8b0 protected execution of `resume' 2002-02-05 20:38:37 -02:00
Roberto Ierusalimschy
653977a0ac callhook can be static 2002-01-30 15:27:53 -02:00
Roberto Ierusalimschy
50e2952593 first version of dynamic stack 2002-01-25 20:14:54 -02:00
Roberto Ierusalimschy
448517e47e no more linehook field in CallInfo 2002-01-18 15:39:06 -02:00
Roberto Ierusalimschy
6272c843de yield' passes its arguments to resume' 2002-01-11 18:27:41 -02:00
Roberto Ierusalimschy
f083812c02 first implementation of coroutines 2002-01-09 20:02:47 -02:00
Roberto Ierusalimschy
facfec0687 small optimizations 2002-01-03 15:42:57 -02:00
Roberto Ierusalimschy
42754c0f15 small optimizations 2001-12-20 19:26:52 -02:00
Roberto Ierusalimschy
18afb90349 first version of stackless Lua 2001-12-20 13:13:38 -02:00
Roberto Ierusalimschy
101cee3032 LUA_ERRERR also cannot generate error message 2001-12-13 16:11:02 -02:00
Roberto Ierusalimschy
a4c35a3269 it doesn't pay to optimize absence when it is an error 2001-12-10 20:10:30 -02:00
Roberto Ierusalimschy
592a309177 tag system replaced by event tables 2001-12-05 18:15:18 -02:00
Roberto Ierusalimschy
413fc7334b new implementation for lua upvalues (sugested by E.T.): simpler and solves
a bug for multi-stacks
2001-11-29 18:22:22 -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
dfaf8c5291 details 2001-11-27 18:56:47 -02:00
Roberto Ierusalimschy
1e81da51ba new API for registry and C upvalues + new implementation for references 2001-10-17 19:12:57 -02:00
Roberto Ierusalimschy
15462edb0f new definitions for closure structures 2001-10-02 13:45:03 -03:00
Roberto Ierusalimschy
c04d9b9ecb small bug when closing closures in error conditions 2001-09-25 14:05:49 -03:00
Roberto Ierusalimschy
abdbe883a8 first implementation of unrestricted static scoping 2001-09-07 14:39:10 -03:00
Roberto Ierusalimschy
e1d072571e better syntax for type casts 2001-08-31 16:46:07 -03:00
Roberto Ierusalimschy
6c8e652aa6 use macros for 'getc' 2001-07-16 17:24:48 -03:00
Roberto Ierusalimschy
9f25df02d5 new definition for headers of binary files 2001-07-12 16:34:03 -03:00
Roberto Ierusalimschy
cbc59592ff new definition for luaD_call' and luaD_adjusttop' 2001-06-08 16:01:38 -03:00
Roberto Ierusalimschy
943b8f5b18 details 2001-06-05 16:41:24 -03:00
Roberto Ierusalimschy
6473f965ca new API functions to load (parse?) a chunk without running it. 2001-04-11 15:39:37 -03:00
Roberto Ierusalimschy
9aedea6ec8 small bug (when parser fails, there is no function on the stack...) 2001-04-06 16:26:06 -03:00
Roberto Ierusalimschy
dd3a63c205 new way to handle `profiles' 2001-03-26 11:31:49 -03:00
Roberto Ierusalimschy
6048c4f74d better way to link callinfo's and stack 2001-03-07 15:09:25 -03:00
Roberto Ierusalimschy
7b84f9e65c lower-case for macros with arguments 2001-03-02 14:27:50 -03:00
Roberto Ierusalimschy
35023355f2 details for wchar 2001-02-23 14:28:12 -03:00
Roberto Ierusalimschy
39b7978329 first (big) step to support wide chars 2001-02-23 14:17:25 -03:00
Roberto Ierusalimschy
d164e2294f _ERRORMESSAGE called through get global tag method 2001-02-23 10:38:56 -03:00
Roberto Ierusalimschy
5f37134e64 avoid '...' and "..." inside comments 2001-02-22 15:59:59 -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
7178a5e34a new way to handle top x L->top 2001-02-07 16:13:49 -02:00
Roberto Ierusalimschy
42224ca553 loop of 'dostring' may never reclaim memory 2001-02-02 14:23:20 -02: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
e506b864cd no need for tags in boxed values :-( 2001-02-01 15:40:48 -02:00
Roberto Ierusalimschy
63a822c8e1 all boxed types start with their tags 2001-01-29 17:34:02 -02:00
Roberto Ierusalimschy
fa8c44b510 avoid the use of "reopen" (not that standard) 2001-01-29 13:35:17 -02:00
Roberto Ierusalimschy
bce6572579 new macros + new names to facilitate compilation of threaded version 2001-01-26 09:45:51 -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
f2c451d745 all accesses to TObjects done through macros 2001-01-18 13:59:09 -02:00
Roberto Ierusalimschy
dabb19fc17 specialized versions for luaH_set (numbers and strings) 2001-01-10 16:56:11 -02:00
Roberto Ierusalimschy
4ff5545709 new macro pushliteral 2001-01-10 14:58:11 -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
96253ed8ce better support for 64-bit machines (avoid excessive use of longs) 2000-11-24 15:39:56 -02:00
Roberto Ierusalimschy
f379d06e24 all API functions are declared in a single line (to facilitate pre-processing). 2000-10-30 10:38:50 -02:00
Roberto Ierusalimschy
64eecc0b82 new macro LUA_API 2000-10-20 14:39:03 -02:00
Roberto Ierusalimschy
2bddbe6603 cannot change filename' before eventual call to freopen' 2000-10-10 17:51:39 -02:00
Roberto Ierusalimschy
46b543ebef better treatment for errors inside _ERRORMETHOD 2000-10-09 13:46:43 -02:00
Roberto Ierusalimschy
d6232a0b2e better treatment for source names 2000-10-09 11:47:32 -02:00
Roberto Ierusalimschy
ad3816d0d1 luaD_call is more uniform 2000-10-06 09:45:25 -03:00
Roberto Ierusalimschy
046a3d6173 tag methods are always functions, so don't need to store a whole object 2000-10-05 10:00:17 -03:00
Roberto Ierusalimschy
001f2bdd0e new definition for types-tags 2000-10-05 09:14:08 -03:00
Roberto Ierusalimschy
cd2ddaded9 call hooks can only be called when `pc' is active (that is, inside
`execute'...)
2000-10-04 09:16:08 -03:00
Roberto Ierusalimschy
f6834f4393 new API function `lua_type' + new type lua_Type 2000-10-02 17:10:55 -03:00
Roberto Ierusalimschy
78bc8e553d new API for garbage collector 2000-10-02 11:47:43 -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
13635f7de7 new version of protected execution 2000-09-25 13:22:42 -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
6990b06467 finish with parse data before doing main chunk. 2000-09-04 15:52:51 -03:00
Roberto Ierusalimschy
a290b84c67 dohook' to abstract callhook' and `linehook' 2000-08-31 10:31:44 -03:00
Roberto Ierusalimschy
a97f29f154 explicit stack control in the API 2000-08-29 17:43:28 -03:00
Roberto Ierusalimschy
808525e417 new asserts for hooks 2000-08-29 16:01:34 -03:00
Roberto Ierusalimschy
58adbde216 details 2000-08-29 11:57:23 -03:00
Roberto Ierusalimschy
9d60598260 better definitions for MULTRET 2000-08-29 11:48:16 -03:00
Roberto Ierusalimschy
ac12f4db4b C upvalues are the last arguments to a function 2000-08-29 11:33:31 -03:00
Roberto Ierusalimschy
9fdf73bc9a first version for new API 2000-08-28 14:57:04 -03:00
Roberto Ierusalimschy
daf09c476f still better error messages 2000-08-10 16:50:47 -03:00
Roberto Ierusalimschy
e238efc536 default now is multi-state 2000-08-09 16:16:57 -03:00
Roberto Ierusalimschy
0802a9df9e no more options for debug information: it is always on 2000-08-08 17:42:07 -03:00
Roberto Ierusalimschy
435f587ed0 (much) better handling of memory alloction errors 2000-08-04 16:38:35 -03:00
Roberto Ierusalimschy
014a09c509 better error messages 2000-06-28 17:21:06 -03:00
Roberto Ierusalimschy
afef009fce new version of debug system 2000-06-26 16:28:31 -03:00
Roberto Ierusalimschy
e3ea307434 small changes to allow redefinition of some buffer sizes. 2000-06-16 14:16:34 -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
7e30900def better field name 2000-05-30 16:00:31 -03:00
Roberto Ierusalimschy
ef62b340e0 code cleaner for 16 bits. 2000-05-24 10:54:49 -03:00
Roberto Ierusalimschy
44b71ca816 defines for _ERRORMESSAGE and _ALERT 2000-05-09 11:50:16 -03:00
Roberto Ierusalimschy
11a7022067 global variables are stored in a Lua table 2000-05-08 16:32:53 -03:00
Roberto Ierusalimschy
870f61d299 code redistribution 2000-04-14 15:12:35 -03:00
Roberto Ierusalimschy
8f0f54ec38 name change 2000-03-30 17:55:50 -03:00
Roberto Ierusalimschy
556a89e537 new names for debug types 2000-03-30 14:19:48 -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
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
74f1c3d025 small changes for "clean C" 2000-02-08 14:39:42 -02:00
Roberto Ierusalimschy
2877bad4c2 new debug API (first version) 2000-01-19 10:00:45 -02:00