Commit Graph

29 Commits (0ed5c8db39ee51d5dd40f68f9cb68e91aed270c4)

Author SHA1 Message Date
Pauli a90a6b2a7b Make lua data race free
Fixes tsan trace report between lua viewscreen and other threads running
lua without CoreSuspender lock. But I would assume similar races exists
when using lua from console thread, remote thread and vmethods same time.
2019-07-18 23:04:40 -04:00
Ben Lubar afc2c476bb
Fix remaining warnings on Windows. 2018-04-06 21:22:48 -05:00
lethosor 38702febf7 Use LUA_(C)PATH_VAR instead of LUA_(C)PATH in luaconf.h
This was apparently changed at some point around Lua 5.3, so a custom LUA_PATH
environment variable could prevent DFHack from initializing.
2017-03-14 00:24:05 -04:00
lethosor 18a8512242 Fix LLONG_MAX/LLONG_MIN in luaconf.h with old glibc versions 2016-08-13 11:40:30 -04:00
lethosor aa47484b2a Enable bit32 library
Deprecated in Lua 5.3, but still contains some useful things, like extract()

Also helps maintain backward-compatibility with scripts that target older DF
versions (e.g. Mifki's dfremote project)
2016-08-09 18:57:24 -04:00
lethosor adff13f4ab Lua: re-enable C++ exceptions (re 42c620b) 2016-07-27 21:44:25 -04:00
Vitaly Pronkin 8916aba3bf win64 fixes (partial)
cherry-picked from 2f734ae2317060edb83021f17cffc966c435ad7b
2016-07-27 19:46:49 -04:00
Vitaly Pronkin 4dd411e862 Update Lua config and patch checkdp 2016-07-26 23:29:26 -04:00
lethosor e2c6350978 Update Lua to 5.3.3 2016-07-26 23:23:26 -04:00
lethosor 2455e36510 Initial 64-bit support 2016-07-03 23:32:43 -04:00
Alexander Gavrilov 7ea8e25cd3 Rename the LUA_PATH/LUA_CPATH environment variables to avoid conflicts.
If a user has a standalone lua installation with these variables
configured, it should not confuse dfhack into looking for things
in wrong places.
2014-03-31 14:15:57 +04:00
Alexander Gavrilov a70fbf41d4 Reapply dfhack-specific lua build configuration. 2014-03-31 14:15:50 +04:00
Alexander Gavrilov 1132bea917 Update to Lua 5.2.3 2014-03-31 14:15:09 +04:00
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