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
ThePhD
6b34a15d68
it would help if I was not blind
2017-06-19 23:06:57 -04:00
ThePhD
5468ab8b4e
Let's hope we didn't break shit...
2017-06-19 23:04:23 -04:00
ThePhD
5363a63de0
g++ sometimes chokes on parsing certain combinations of characters because of disambiguation rules
2017-06-17 00:52:02 -04:00
ThePhD
b811e73b90
who knew noexcept proofing would be so hard...? And there's so many places it could be activated in...!
2017-06-17 00:43:26 -04:00
ThePhD
11916a7c72
add noexcept function type barriers and guards
...
noexcept-proof function call trampolines
add noexcept tests to ensure its being checked
TODO: check g++ 7.1 builds when using -std=c++17 ...
2017-06-16 18:43:40 -04:00
ThePhD
4f959c9a41
update single
2017-06-15 01:24:53 -04:00
ThePhD
85620df63c
new checker for unique_usertype to ensure type safety, when SOL_CHECK_ARGUMENTS or a protected tag is used to protect a function
2017-06-13 16:34:18 -04:00
ThePhD
42253cadfb
guard against is_integral
accepting booleans as integers
2017-06-12 10:45:51 -04:00
ThePhD
d8f6127bf8
boosted pragmas
2017-06-07 12:53:24 -04:00
ThePhD
02110a5361
update single with newest version
...
Fixes #414
FIxes #419
2017-06-07 12:36:35 -04:00
ThePhD
661386c384
revert codecvt fix for MinGW v7 and greater
...
add docs about compiler support
add notes about compilation issues
update single
2017-06-07 12:33:59 -04:00
ThePhD
ea895b4338
hard errors for container usertypes if SOL_CHECK_ARGUMENTS is defined.
...
otherwise, as usual, we assume you know what you're doing
2017-06-03 06:25:06 -04:00
ThePhD
51245a9e7b
go to hell, gcc and clang
2017-05-29 13:06:37 -04:00
ThePhD
fd8e2df92e
fix some semantics for container usertypes, their iterators, and how they push their value types (to cope with crappy input iterator "containers")
...
add better handling for `readonly` to prevent bugs from `const`-ifying the return value of a member variable (e.g., unexpected copy semantics)
add more tests and add a few more handlers for new readonly type
fix simple_usertype_metatable's handling of newindex and index when not at the top level
2017-05-29 10:32:37 -04:00
ThePhD
c6d11a2bac
fix index and newindex semantics on simple_usertypes
...
we do not have to hit the metatable by-name since we go to special lengths to ensure we have a simple usertype table we can use
2017-05-28 19:14:18 -04:00
ThePhD
2393d0bcfd
update single
2017-05-20 20:03:28 -04:00
ThePhD
5ff394ae0d
use the copy assignable trait, even if that's not exactly what we're going for...
2017-05-16 20:20:59 -04:00
ThePhD
51d6f6fa54
You would think that we'd have accounted for this earlier...
...
Fixes #405
2017-05-16 06:12:28 -04:00
ThePhD
34b81bef6b
Handle qualified name failures of VC++, where using
templates do not match the fully qualified names of what they alias to (Thanks, VC++)
2017-05-15 10:41:50 -04:00
ThePhD
86e2de297d
update single, ensure unused variables are axed
2017-05-09 13:31:44 -04:00
ThePhD
8efafca46a
[ci skip] update single, bump version
2017-05-09 13:27:23 -04:00
ThePhD
c7237806ef
add a new example, add a note, adjust for LuaJIT Beta3 and beyond (hopefully it doesn't flip its crap: will have to warn suers....)
2017-05-07 10:16:47 -04:00
ThePhD
5bc5def14d
update single
2017-05-04 03:18:46 -04:00
ThePhD
fc3e7c40f3
static properties work as intended, I guess
2017-04-25 19:44:53 -04:00
ThePhD
c124d51353
Fix #398 by ensuring proper usertype propagation.
2017-04-20 20:27:32 -04:00
ThePhD
3d5f80e35a
Fix bad tag for clang
2017-04-19 15:29:26 -04:00
ThePhD
a3d6f8044c
working stuff!~
2017-04-19 13:00:47 -04:00
ThePhD
de7d7e8da5
update versions
2017-04-18 20:26:35 -04:00
ThePhD
2acc8bee14
get_environment, documentation updates, and tests
2017-04-18 20:23:20 -04:00
ThePhD
36cc7f2863
crush the stack on final error when throwing to prevent 'leaks' in bad cases
2017-04-09 19:37:45 -04:00
ThePhD
a6e03ac214
tfw you break everything 'cause you're bad
2017-04-09 13:03:41 -04:00
ThePhD
2df532f79b
There was a leak when running scripts and catching errors, where she didn't properly clean up the stack.
2017-04-09 12:04:57 -04:00
ThePhD
814562260d
Fixes #394
2017-04-08 08:25:49 -04:00
ThePhD
28fff10637
Well, that bug was annoying to track down, but it was from the single.py script. This fixes #392
2017-04-06 21:15:22 -04:00
ThePhD
8c94cb730b
Fix static initialization order fiasco with meta_function_names
2017-04-04 16:16:22 -04:00
ThePhD
7fa7f0f2e9
updoot single
2017-04-02 22:39:20 -04:00
ThePhD
f4434393ce
add single
2017-04-02 16:30:14 -04:00
ThePhD
fb06c8a754
Fix slight error when error handler was called and the result wasn't properly moved.
2017-03-31 22:39:16 -04:00
ThePhD
59b196a1db
add a new kind of error handling script call, updating docs and examples
2017-03-31 17:38:04 -04:00
ThePhD
4094ba3e7a
New feature: nested
getter for complex nested tables, plus docs and example
2017-03-30 14:11:43 -04:00
ThePhD
92d31b39b7
update single
2017-03-30 04:21:11 -04:00
ThePhD
b835e7d2c7
update Unreal's check mechanism
2017-03-26 11:28:32 -04:00
ThePhD
e27922e844
Fix a latent herpderp from when I added new constructors to protected_function
that resolves an ambigious implicit conversion.
2017-03-25 20:28:22 -04:00
ThePhD
3342e65b38
fixes to a lot of tests and proper subclassing for internal metatable data and work done to all of the usertypes to make them behave as expected
2017-03-23 21:13:46 -04:00
ThePhD
7c29964339
allow personal indexing function to catch rewrites to itself in usertypes statically and dynamically
2017-03-23 10:19:23 -04:00
ThePhD
9daf52e8df
update single
2017-03-22 07:54:19 -04:00
ThePhD
8938c54404
update version, update single
2017-03-21 16:56:25 -04:00
ThePhD
4b58b4ace3
update single
2017-03-19 20:58:35 -04:00
ThePhD
42aa55db8f
update single
2017-03-16 16:01:42 -04:00
ThePhD
ab9126d892
update customization points and track un-specialized structs to trigger some safe-guards as a back-compatible safety net
2017-02-20 18:07:02 -05:00
ThePhD
889a45d0b3
update single
2017-02-20 03:45:47 -05:00
ThePhD
dde4aa64fc
simple_usertype now responds with nil on bad lookups and sets items into place properly when new_index'd
2017-02-19 05:00:11 -05:00
ThePhD
295bc3a911
update single
2017-02-18 21:59:53 -05:00
ThePhD
23e3f2c26d
make sure member functions for simple usertypes propogate their desired type.
2017-02-17 05:46:39 -05:00
ThePhD
37420dcdc0
Documentation update about functions and new typedefs.
2017-02-16 02:05:49 -05:00
ThePhD
85194e0135
Fix leak issues and some ordering in state(view) move operations. Closes #336 .
2017-02-15 05:42:44 -05:00
ThePhD
fe8b1c1c10
Bug in not properly keeping the observed valid table on the stack.
2017-02-01 06:54:30 -05:00
ThePhD
8d6f304bad
Update the name table and make sure there are pairs and next metamethod entries.
2017-02-01 06:29:45 -05:00
ThePhD
c7deb82535
Improve performance by making wstring_convert
objects static. Closes #326
...
Temporary warnings against alignment padding nonsense. Closes #325
Still need to test #324 and find out what's wrong with #327
2017-01-30 21:40:58 -05:00
RaptorFactor
c58d27e58d
Work around clang-cl compilation issue.
2017-01-26 03:32:17 -08:00
ThePhD
66ad189797
add functionality to have functions properly detected and the amount shifted over properly based on being a call constructor or not
2017-01-09 23:25:28 -05:00
ThePhD
490194f767
allow va_args to work with overloading, albeit things can get... bad, with it. Need to observe this more to make sure things don't go poorly.
2017-01-09 16:38:23 -05:00
ThePhD
658a11a2be
forgot return type: update single
2017-01-07 01:11:03 -05:00
ThePhD
38ba4415b0
update version and single
2017-01-07 00:46:16 -05:00
ThePhD
764b2ad7b2
thread and state awareness: update single
2017-01-07 00:42:18 -05:00
ThePhD
010b6bb101
allow for switch to change Lua configuration and build with assumptions to C++ handling
2017-01-02 09:36:04 -05:00
ThePhD
77a7bf12a0
update single
2016-12-26 14:02:32 -05:00
ThePhD
26b85c8136
Make sure resolve works and provide some protection against deleting the handler that originates from a specific sol::state
. sol::state_view
users will be left out in the dark, though.
2016-12-26 13:50:08 -05:00
ThePhD
3aa42c5db8
update single
2016-12-16 05:31:32 -05:00
ThePhD
428adf706f
optional impl alignment requirements?? Thanks, Emscripten.
2016-12-16 01:00:49 -05:00
ThePhD
e1329d244a
Fix alignment issues with optional implementation
...
Update single.py to look at toplevel file rather than listing out all base sources
string_shim didn't have the proper header
Improve gitignore
2016-12-16 00:31:45 -05:00
ThePhD
ad010adcad
Goddamn unused parameters...
2016-12-10 05:56:10 -05:00
ThePhD
edeb81a7e1
Add registry constructors to tug things right out of the registry, and add a main_thread getter to aid in Joynet dev
2016-12-10 00:25:25 -05:00
ThePhD
c6110e5711
update single
2016-12-06 11:09:13 -05:00
ThePhD
7628c635bd
Memory leak fix!
2016-12-05 12:03:15 -05:00
ThePhD
d0a36c9657
objc define to keep code clean on that platform
2016-12-03 07:33:18 -05:00
ThePhD
20b951d551
we choose nil serialization for bad stack pushes
2016-12-02 05:47:24 -05:00
ThePhD
7bef50d460
update single
2016-11-29 12:51:42 -05:00