ThePhD
b8aa189e32
Revert to using 1 for lua_newuserdatauv
...
- This needs to be addressed in the future
- Prevents failures when "attaching" a free-standing table.
2020-11-02 05:53:57 -05:00
atom0s
63e396b996
Fix typos in configuration macros.
2020-11-02 05:33:44 -05:00
ThePhD
e108f8bbbf
Work around non-constexpr boost shenanigans.......
2020-10-24 04:53:21 -04:00
ThePhD
651b90ba24
Fix boost build and optimize for lua_newuserdatauv
2020-10-23 18:59:07 -04:00
ThePhD
e5e6466e09
Fix configuration macros
...
- Enable all necessary configuration macros to be deliberately shut off, appropriately
- Fix version macro headings
2020-10-15 01:18:12 -04:00
ThePhD
48e5fc9e44
Fix unorded_map derp
2020-10-03 17:34:34 -04:00
ThePhD
48eea7b573
New Unsafe Feature: Function Pointers!
...
- Not at all type safe: there should be some investigation into making it less unsafe to work with these things (albeit it looks like it would cost +1 pointer to serialize a string name for each callable in Lua, at LEAST)
- Must be opted into - see the documentation
- Fixes #1015
- A few drive-by fixes here and there
- New configuration test harness with CMake
2020-09-26 09:46:11 -04:00
ThePhD
000fa31809
Heavily improve usage of Preprocessor checks
...
- Weed out bugs in the numeric checking implementation
- Solve the problem with load_result/protected_function_result/unsafe_function_result being copyable and thus amenable to explosions. Fixes #995 .
- Resolve the warning in sol::readonly. Fixes #1000 .
- Looke into #1014 . Not sure I can help there, honestly; looks like a mix up of multiply-loaded libraries and mixing the two.
2020-09-26 06:47:32 -04:00
Intrets
0e1aafe4df
fix bug in checking for const in push_reference
...
std::is_const<T> will always be false if std::is_lvalue_reference<T> is true, we first have to strip off the reference to look at the const-ness. See https://en.cppreference.com/w/cpp/types/is_const
2020-09-26 03:45:20 -04:00
ThePhD
e89b6ac2e7
Actually use the correct value instead of pushing without saving the file
...
- I promise
- I am smarter than I commit
2020-09-08 20:47:39 -04:00
ThePhD
e4f588d18c
Turns out I'm not very smart - who knew?!
2020-09-08 20:17:12 -04:00
ThePhD
275ae2c096
Fix ambiguous overload for array vs. pointer
...
- Arrays vs. pointers continue to be the bane of my existence in working with """text""" in C++.
- Fixes #1001 and the issue that was ongoing in Mugen.
2020-09-05 17:46:20 -04:00
ThePhD
63df43e061
Get rid of MSVC problems and improve state API.
...
- Just let MSVC have crap codegen. The compiler sucks anyways. Fixes
- Add incremental GC power. Fixes #997 .
- Add non-null offset manipulation. Did I mention I hate VC++ and how it implemented _Aligned? Fixes #1017 .
2020-09-05 17:25:15 -04:00
ThePhD
de87bec171
Even better Regression Testing™
2020-08-13 10:42:37 -04:00
ThePhD
af779f0bed
Improve the testing macros to work across platforms.
...
Add a note to the documentation about SOL_NO_LUA_HPP being less preferred over the C++ defines, to Fix #1013 .
Add regression tests (not yet fixed) so I can get to the bottom of VC++ being ass.
2020-08-12 19:07:32 -04:00
ThePhD
5bbc095396
Improve configuration macros and other things while trying to track down ways to make MSVC stop being a butt on its latest iterations.
2020-08-09 17:17:47 -04:00
Ubpa
ca1e85d06d
no_constructor
2020-08-04 10:52:56 -04:00
Ubpa
855d480049
variable name is_const -> ret_is_const
...
`is_const` will get some strange messages in VS 2019
maybe it is conflicted with `std::is_const`
2020-08-04 10:52:56 -04:00
ThePhD
7be51ebbef
Add tons of redundant includes in the single, since they may be conditionally compiled out, and add a note to see if this can be looked into more closely later...
2020-07-16 19:46:15 -04:00
ThePhD
4a16979adf
Use a specified configuration macro for the size of a given chunk.
...
This might help with error reporting for larger non-text based chunks. Maybe helps #989 , but that looks like it needs the user to define their own traceback handler.
Fix compilation issues with boost optional usage. Fixes #990
Fix more shitty docs (thanks, @nabijaczleweli)
2020-07-15 09:29:27 -04:00
ThePhD
7d8532b5f8
Merge branch 'develop' of github.com:ThePhD/sol2 into develop
...
# Conflicts:
# single/include/sol/forward.hpp
# single/include/sol/sol.hpp
2020-07-04 04:01:11 -04:00
ThePhD
862c01019a
Use invoke_result_t to get rid of deprecated result_of_t ( Fixes #986 ).
...
Make thread local keyword optional by using a config macro SOL_NO_THREAD_LOCAL (off by default) (Fixes #979 ).
Cannot do anything for #985 ; that's an architecture issue.
2020-07-04 03:58:24 -04:00
Brent Davis
428767b8cd
Reduce binary bloat from static_trampoline and check_metatable
2020-07-03 12:04:02 -04:00
Brent Davis
a21fef97e9
Fix formatting in previous commit
2020-07-03 12:04:02 -04:00
Brent Davis
37c61eb16b
Move code that doesn't need to be in a template, out of the template, to reduce duplicated binary code
2020-07-03 12:04:02 -04:00
ThePhD
e09d2ffef8
Fix up protected function returns and fix/use the horrible size
extension point derp. Fixes #973
2020-05-26 20:08:38 -04:00
ThePhD
465b472b2c
Fix #968 , #969 (nice).
2020-05-22 09:38:53 -04:00
ThePhD
d9c034d672
Protections for MoonJit, explicitly.
2020-05-17 23:21:32 -04:00
ThePhD
c5f6680bf4
Add an additional configuration parameter to make it so automagic usertypes can be turned off, and document it.
...
Thanks @EliasDaler
2020-05-17 18:17:14 -04:00
ThePhD
5022c4d8f6
Improve container handling and the vec[#vec] = nil idiom from Lua
2020-05-06 22:17:02 -04:00
espkk
670ea9b405
Allow open_libraries() to accept any value category.
2020-04-08 20:01:29 -04:00
ThePhD
053a7fdcb1
Fix #949 , #935 , #948 , #945 , and #933 .
...
We will need a new feature to fix #941 , which is related to #872 .
2020-03-31 00:24:23 -04:00
ThePhD
82812c56d9
__mt is the wrong name.
2020-03-09 21:33:41 -04:00
ThePhD
bc96c1d7b2
Fix some more derps in the code. Also, std::iterator
is a zombie!
2020-02-16 16:52:39 +01:00
ThePhD
11d6e8c8d4
Where did the checkers for sol::nested go...? Maybe a casualty of refactoring?
2020-01-28 13:44:35 -05:00
ThePhD
903f4db02b
Fix up the tutorial.
2020-01-27 14:13:22 -05:00
ThePhD
0c38fd1a57
Lua stream example!
2020-01-25 13:09:16 -05:00
ThePhD
2beb13b9b2
Found the problem.
2020-01-25 00:13:08 -05:00
ThePhD
ba9507107b
Index adjustments from derping around.
2020-01-24 20:16:37 -05:00
ThePhD
5301bc1d4c
New base object customization point management example, derived directly form @NullCascade. Thanks!
2020-01-24 19:58:12 -05:00
ThePhD
c77b5b432e
Update catch, move yielding check up one level to avoid problems with trampoline and exception handling, and add a new test/example from an issue. Closes #906 . Closes #917 .
2020-01-17 05:22:52 -05:00
ThePhD
b9acaddd78
Stack aligned function should be safe, if possible.
2020-01-08 06:40:33 -05:00
ThePhD
43f215c27d
Fix #913
2019-12-25 13:24:21 -05:00
ThePhD
36972a994b
mmm double trampolining is not good
...
add new ways to shoot myself in the foot with CMake
2019-12-23 09:09:23 -05:00
ThePhD
1f27149239
Fix usage of the traits, rename them to say more directly what they are.
2019-12-02 15:54:58 -05:00
ThePhD
38d979209d
Rework variant checks and other things to prevent hard failures.
2019-12-01 19:27:49 -05:00
ThePhD
b0c74207d8
Force constness on ostream operator.
...
Automatically disable magic for variant types.
2019-12-01 17:40:16 -05:00
ThePhD
83a656ae61
Break all the behaviors. _All_ of them.
2019-11-29 13:08:41 -05:00
ThePhD
21c030933f
Clean up exceptions checking. Fixes #901
2019-11-24 18:06:52 -05:00
ThePhD
bc1106cdea
Tackle bug in indexing on Lua Version < 5.3
...
Figure out LuaJIT bug for allocations on x64 on Version < 2.1.x
2019-11-13 05:18:02 +01:00