Alexander Gavrilov
16ae6cb1fb
Fix lua bug: 'peaceful' unwind of yielded pcall doesn't restore errfunc.
...
I.e. if the pcall results in no error, but a yield happens inside it,
the active errfunc is not restored to its previous value.
2012-06-17 16:14:14 +04:00
Alexander Gavrilov
eeaae916ed
Reapply dfhack-specific lua build configuration.
2012-06-17 16:01:46 +04:00
Alexander Gavrilov
534367546d
Update to Lua 5.2.1
2012-06-17 16:01:46 +04:00
Alexander Gavrilov
ee7100216e
Fix lua interpreter bug: the C call counter is already unwound by yield.
...
Decrementing it causes underflow and subsequent spurious stack overflow.
2012-04-16 18:32:12 +04:00
Alexander Gavrilov
d109b6570b
Add dfhack.with_suspend(f[, args...]) that calls f with core suspended.
...
The lock is properly removed in case of error, which is then propagated.
Just for fun, it also can be yielded from within in a coroutine.
2012-04-01 19:38:42 +04:00
Alexander Gavrilov
afe4eba957
Improve performance of the persistent data api, and wrap it for lua.
...
Use an stl table for string keys to avoid linear cost of lookup.
This uncovered a bug in the new luaL_getsubtable function.
2012-04-01 16:43:40 +04:00
Alexander Gavrilov
0f41608ed4
Pull console output support and REPL out of dfusion into core lib.
2012-03-31 15:40:54 +04:00
Alexander Gavrilov
9384f0c842
Update lua to 5.2 and fix obvious breakage due to obsolete api.
2012-03-31 12:11:43 +04:00
Alexander Gavrilov
f6c6218909
Temporary tweak: patch in __pairs and __ipairs from 5.2 into lua 5.1.
2012-03-29 11:32:22 +04:00
Warmist
3761426ef5
Extern "C" mess fixed, bitlib mess fixed, bitlib added to autoload.
2012-03-26 18:48:24 +03:00
Alexander Gavrilov
5d471a2a74
Since lua is now compiled as c++, don't declare api functions extern "C".
2012-03-25 11:11:45 +04:00
Quietust
e779a076fc
Fix Lua compilation on win32 - extern must come BEFORE __declspec
2012-03-24 09:11:25 -05:00
Petr Mrázek
8a847dbaba
Tweaks and cleanups
...
Removed t_virtual.
Made lua use C++ compiler
Removed many silly exception types from Error.h and renamed the rest.
Removed Brush classes from tiletypes plugin.
2012-03-24 12:13:51 +01:00
Alexander Gavrilov
ccc8fac166
Get rid of the write mode field table in metamethods.
...
Two separate tables can be confusing, e.g. if a builtin field
overrides a writable custom one only in the read table.
2012-03-23 10:56:29 +04:00
Alexander Gavrilov
dbbd9acfad
Export the type tree with enum keys to lua.
2012-03-19 20:12:27 +04:00
Petr Mrázek
eb4757043b
Move depends out of main library, make them (static) libraries.
2012-03-13 14:46:48 +01:00