Commit Graph

340 Commits

Author SHA1 Message Date
ThePhD
a0de11a773 add coroutine guard
update version
add donation link
2017-11-21 14:33:27 -05:00
ThePhD
4256c07ee0 error handling improvements
update single
2017-11-17 16:54:42 -05:00
ThePhD
4a39020df9 macro-proof the library 2017-11-17 07:20:17 -05:00
ThePhD
fa912a57f6 add cstdint header to get SIZE_MAX 2017-11-17 07:07:56 -05:00
ThePhD
6738ceedae finally fix handling of exceptions, pray to the Lord it works 2017-11-11 18:33:56 -05:00
ThePhD
2d31d84070 attempt to wrangle exception handling on multiple systems 2017-11-11 07:42:14 -05:00
ThePhD
2203c1f64f Overhaul examples
Overhaul docs for examples
Overhaul function_result and protected_function_result proxies
2017-11-09 17:41:46 -05:00
ThePhD
43dda398a0 version bump 2017-11-07 20:20:57 -05:00
ThePhD
9a0b5ef34a fixed ipairs swap bug 2017-10-30 14:38:16 -04:00
ThePhD
882f337c48 vet propagation handlers 2017-10-26 13:15:02 -04:00
ThePhD
540d322a26 update configure, tag and everything else 2017-10-26 13:03:49 -04:00
ThePhD
d107cb8cc9 allow final classes to be used
improve error reporting for stack checks
2017-10-26 12:54:30 -04:00
ThePhD
8811a268a2 improvement to how handling of safe exceptions are done 2017-10-20 20:59:52 -04:00
ThePhD
3ee36c7d2e fix proxy compare
try to silence some really dumb PVS STudio warnings
2017-10-16 19:28:43 -04:00
ThePhD
8f007074ff I REMEMBER NOW 2017-10-03 10:46:26 -04:00
ThePhD
c5505c234a I'm not the smartest. 2017-10-03 08:26:23 -04:00
ThePhD
3660aec56e continue to analyze alignment issues 2017-10-03 08:11:48 -04:00
ThePhD
74d1ba87c9 update single 2017-10-02 17:33:14 -04:00
ThePhD
e36b9b3ab5 update single 2017-09-30 23:03:26 -04:00
ThePhD
5c9e8e2e45 is_stringable trait 2017-09-28 19:07:33 -04:00
ThePhD
e31ed4f81c [ci skip] update single 2017-09-24 16:51:14 -04:00
ThePhD
0027ce6c84 make sure default userdata_getter does not error everything horribly
update single
2017-09-24 16:04:10 -04:00
ThePhD
50f749640c update single 2017-09-23 20:26:54 -04:00
ThePhD
8f3699bea5 initializer_list support and tests, waiting for the day when we can use some kind of lua_any to store any value into Lua and thus have initializer lists become the new hot stuff 2017-09-22 18:54:49 -04:00
ThePhD
290a67134a Make sure nil_t is still available, even if nil is defined.
One day, there'll be a time when I get nearly everything right
2017-09-22 11:04:46 -04:00
ThePhD
0114882e13 force usage of lua_nil across everything and add a proper macro / feature-test for it 2017-09-22 07:30:41 -04:00
ThePhD
1b23ad8b4f attempt to silence warnings about array usage and keep a definition check for nil
add some "max size" checks in other places.
2017-09-21 21:32:52 -04:00
ThePhD
61d610bb70 make minor changes for XCode and Visual Studio Warning Level 4. 2017-09-21 19:24:21 -04:00
ThePhD
76d7195e64 test new compat mode (we only test text, but I don't really generate binary files, and it seems to play ball both ways, so...) 2017-09-16 14:18:45 -04:00
ThePhD
2aecb11e97 update single 2017-09-14 08:51:12 -04:00
ThePhD
1fc00278d5 repair all constructors, expand type recognition 2017-09-14 08:45:44 -04:00
ThePhD
ed341e00aa clang error on some proxy stuff 2017-09-14 00:46:38 -04:00
ThePhD
8d828ac47b implement main_reference as per @eliasdaler's suggestions 2017-09-14 00:35:40 -04:00
ThePhD
72143a494b don't forget to pop! 2017-09-13 11:45:31 -04:00
ThePhD
a068c4e6e6 update single and bump version number for new release 2017-09-13 11:37:28 -04:00
ThePhD
7ff3a390b1 final lua_xmove fixes 2017-09-13 11:29:32 -04:00
ThePhD
dcff5cdaa0 re-implement xmove implicit transfers and hope it works proper this time 2017-09-13 10:20:24 -04:00
ThePhD
5816c6c34b .clang-format the crap out of everything, I guess...! 2017-09-13 02:46:56 -04:00
ThePhD
e3bd984062 cannot do automatic lua_xmove because of state differences 2017-09-12 22:01:29 -04:00
ThePhD
0325e27454 update single and add unused parameter checks to thread 2017-09-12 19:52:09 -04:00
ThePhD
8643dec9e5 with the xmove constructors, we finally are forced to do safety checks. 2017-09-11 16:44:02 -04:00
ThePhD
074b9ae655 add xmove constructors for function, (light )userdata, table, reference and object
add additional coroutine example
improve traits
add tests for thread transfers
update single
2017-09-11 16:12:23 -04:00
ThePhD
85c81f618c ignore test files
fix using wrong mode in the improper place
2017-09-11 13:25:05 -04:00
ThePhD
ac849a54c7 add compat53_ prefix where appropriate
make sure all checking macros define to 0 if not defined
make sure to vet use of `fsopen` on Windows since it it may or may not lock: use non-locking security version by default if possible
2017-09-11 13:15:27 -04:00
ThePhD
b4c1ab0915 add f and update single 2017-09-11 11:42:11 -04:00
ThePhD
7a29676633 update implementation of luaL_loadfilex 2017-09-11 11:31:18 -04:00
ThePhD
5fe73be5b5 use sizeof(buf), and update single 2017-09-10 12:28:39 -04:00
ThePhD
b38a382b03 fix compat loadfilex issues and investigate luajit completely 2017-09-10 12:08:43 -04:00
ThePhD
7aca8ac8cd fix macro definitions to define to 0 when not explicitly defined and requirements are not met
macro checks now used defined() plus an is-truth check to see if its valid
fix void return for declaration but int return for definition of luaL_loadbufferx and luaL_loadfilex
update macro style to be similar to the rest of the library
fix comment styling
2017-09-10 11:02:47 -04:00
ThePhD
ae07a5dd67 fix unused parameter warnings using (void)
make sure signatures of macro declarations match
2017-09-10 10:30:30 -04:00
ThePhD
2ca0393a94 hunt down all uses of the k variants of lua_pcall and lua_call 2017-09-10 04:11:30 -04:00
ThePhD
232abab96a EXPERIMENTAL DO NOT PULL
using new compatibility headers and testing on the tests (works on VC++ Lua 5.3 and LuaJIT so far)
2017-09-09 21:38:13 -04:00
ThePhD
d80748e6bb fix raw/global parameter swapping
prepare for compat changes
2017-09-07 00:51:35 -04:00
ThePhD
30c7e40f08 ipairs for array types too 2017-09-06 16:50:27 -04:00
ThePhD
adff0ccbce one day, i'll make a commit and it'll work first try 2017-09-05 23:06:02 -04:00
ThePhD
fc91147edc fix errors 2017-09-05 21:07:33 -04:00
ThePhD
a11e127d4d update single and remove traits from the right place properly 2017-09-03 09:52:51 -04:00
ThePhD
1f64a7f1e3 update single 2017-09-03 03:07:40 -04:00
eox
dd115145f4 Remove duplicate 2017-09-03 03:06:20 -04:00
ThePhD
0d48e65ad1 update single and ver 2017-08-31 21:05:30 -04:00
ThePhD
54bcda140c upgrade checkers and handlers to take a semi-optional "reason" type (const char* c-string desired)
add constructor_handler in same vein of handlers
add argument_handler in same vein of handlers
rewrite env_t checkers
2017-08-31 20:47:09 -04:00
ThePhD
3549bfa8ae android fixes, wee? 2017-08-30 16:16:48 -04:00
ThePhD
dea0ec0a8a update single and properly group tests 2017-08-28 09:38:30 -04:00
ThePhD
3a4e74d316 fix clang errors on forward declarations 2017-08-27 02:11:03 -04:00
ThePhD
ec34e2ca96 inline iiiiiit 2017-08-27 00:41:10 -04:00
ThePhD
a39679293c add constructors and assignment operators for protected function results and the like
improve documentation about saving compilation time and space
add docs about the two `script_..._error` functions
update single
2017-08-27 00:05:35 -04:00
ThePhD
d98155cd22 update examples and documentation, proof typing for user 2017-08-24 14:57:28 -04:00
ThePhD
92a6fb8c11 update all the examples
fix implicitly convertible function pointers from classes using `call_detail`'s `lua_call_wrapper`
specificaly add documentation for working with `std::function`
2017-08-24 14:39:02 -04:00
ThePhD
e4c3ded4b2 update table documentation and force traits not to use a deleted destructor -- rather, default it according to what it inherits 2017-08-22 10:53:46 -04:00
ThePhD
7164a8a30a update single 2017-08-21 16:23:19 -04:00
ThePhD
0c9d567d0a "automatic usertypes" are now applied everywhere, regardless of what happens
new sol::filters (currently undocumented)
new gc tests, new plain_type tests
core abstractions over usertypes streamlined
SOL_STRINGS_ARE_NUMBERS triggers added
update single
2017-08-21 15:25:43 -04:00
ThePhD
488edd9cd1 More MinGW fixes because Thanks MinGW SeemsGood 2017-08-14 10:00:17 -04:00
ThePhD
9b1c70cdf8 jit should be opened with a non-global name of "jit". 2017-08-13 20:40:32 -04:00
ThePhD
3a12435b17 yaaay, mingw..... 2017-08-13 13:24:59 -04:00
ThePhD
769faeec64 e.e weak standards suck 2017-08-13 13:17:04 -04:00
ThePhD
5683216e26 thread_local weee 2017-08-12 09:42:44 -04:00
ThePhD
b81483a406 shift travis test to run the luaJIT on the most updated
block windows macro crap
update single
2017-08-11 22:27:05 -04:00
ThePhD
023e23f9a4 update single 2017-08-11 18:26:13 -04:00
ThePhD
7af8b4e80a make sure tests don't throw where possible
edit stack checks
update container_usertype_as_container examples
2017-08-11 18:12:13 -04:00
mrgreywater
372db6f6ab large integer 2017-08-11 11:39:46 -04:00
ThePhD
5e109c2c37 clang keeps complaining about overload issues... 2017-08-11 10:36:11 -04:00
ThePhD
4f7f1af515 trying to pin this error down... 2017-08-11 10:21:15 -04:00
ThePhD
644a5c549b modifying tests to find out where crash is... 2017-08-11 09:59:42 -04:00
ThePhD
e0f6b636f1 now we start making a half-dozen commits trying to appease the various forms of clang++ and g++ 2017-08-11 09:40:56 -04:00
ThePhD
b1f7d81acb immunize as_table from std::reference_wrapper and pointer types. 2017-08-07 15:10:05 -04:00
ThePhD
c4b13b2b73 modify table push operations 2017-08-07 14:54:17 -04:00
ThePhD
c8728af5b5 throwing is unreliable... sigh 2017-08-07 14:22:56 -04:00
ThePhD
6eaa277860 bootstrap update to link pthreads, on top of container_traits improvement because of clang++ bounds-checking 2017-08-07 13:58:06 -04:00
ThePhD
092fec7afb improve traits 2017-08-07 08:47:17 -04:00
ThePhD
b86d90f0e5 std::cend doesn't exist in C++11
remove unused variables detected by clang and g++
appease the parenthesis monster that was put into g++ 5.0
2017-08-07 02:27:08 -04:00
ThePhD
ca685e01c9 gcc plagues me , and will continue to, for a while to come
BUT IT WOOORKS!
2017-08-07 02:07:21 -04:00
ThePhD
50040dec36 update single, prepare for tests 2017-08-05 19:35:16 -04:00
ThePhD
16fc7d87ff update single 2017-07-09 19:05:32 -04:00
ThePhD
48fc90bacb update single 2017-07-09 14:03:37 -04:00
ThePhD
504f49f3c7 update state to use default handler 2017-07-04 04:41:32 -04:00
ThePhD
aea873a485 update single 2017-07-01 11:04:16 -04:00
ThePhD
1a6937e24e Revert previous change of not pushing nil when we encounter a nullptr from special usertypes. If people want to check, they'll need to use optional or a raw pointer: messing with the raw usertype can also lead to some surprising problems, so we don't need to specialize for that use case. 2017-06-30 18:18:25 -04:00
ThePhD
af2136ba00 Closes #431
If only I had a test that took a unique_ptr as a second argument. RIP.
2017-06-26 10:10:47 -04:00
ThePhD
13370e7e42 more constructors PogChamp 2017-06-24 10:20:07 -04:00
ThePhD
17271c84cb BREAKING CHANGE: std::pair for regular containers that are not marked as as_table_t or as_nested will now behave like regular containers and not force themselves to be key-value pairs. table-style serialization is still unaffected. 2017-06-23 18:07:24 -04:00