Commit Graph

16 Commits (0547ee7f831e9e10442ea52bbe0ebfeb344f9f90)

Author SHA1 Message Date
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