kyren
66a4e9a8e7
Add ExpiredUserData error and avoid what was previously a panic
...
Also make sure that panic messages clearly state that they are internal errors,
so people report them as a bug. Since the only panics left are all internal
errors, just move the internal error message into the panic / assert macros.
2017-12-04 02:50:27 -05:00
kyren
80a98ef29c
Couple of changes:
...
- Update readme, changelog, cargo version number in preparation for release
- Remove panicking behavior on recursive callback calls, add additional error
variant for recursive callback errors.
2017-12-04 01:47:04 -05:00
kyren
0c644e7136
more reorganization in an attempt to shrink the size of lua.rs
2017-12-04 01:04:12 -05:00
kyren
a44b6b5170
Move function and thread into their own modules, auto-formatting
2017-12-04 00:57:39 -05:00
kyren
51838f3509
Include garbage collector error type, remove unnecessary setmetatable wrapper
2017-12-04 00:35:13 -05:00
kyren
d76935e683
I *THINK* this might actually be it, is rlua 'm' safe now?
2017-12-04 00:15:20 -05:00
kyren
d0ff10b528
I believe this is all the external API changes necessary for 'm' safety
2017-12-03 23:45:00 -05:00
kyren
e80e7d4540
missing push_string calls in util
2017-12-03 23:25:03 -05:00
kyren
67e8907f19
Couple of changes in preparation for 'm' safety:
...
- auto formatting
- add gc control to ffi
- add gc_guard to util functions
- use gc_guard to make util error handling functions never trigger __gc
metamethod Lua errors even without __gc metatable wrapper
- sort of a technicality, don't call luaL_requiref outside of the Lua
constructor, as it could trigger the garbage collector when user code has had
a chance to set __gc metamethods. Changes the API to load the debug table.
2017-12-03 23:01:03 -05:00
kyren
0bd676aa81
more refactoring
2017-12-03 21:19:32 -05:00
kyren
c95f591935
remove specific protected functions in favor of generic protect_lua_call
2017-12-03 20:29:41 -05:00
kyren
37a3145ced
missed stack size fix
2017-12-03 20:15:57 -05:00
kyren
a490229f31
More refactoring towards mem error safety
2017-12-03 20:10:45 -05:00
kyren
0909ca34fc
auto formatting
2017-12-03 18:25:53 -05:00
kyren
e41c72d642
more refactoring trying to find a workable path to 'm' error safety
2017-12-03 18:15:31 -05:00
kyren
5742e3f20a
still making small structural changes
...
slowly trying to refactor things until using all the protected calls in
protected_ffi is workable
2017-12-02 19:16:57 -05:00
kyren
f51a822738
auto-formatting
2017-12-02 18:56:14 -05:00
kyren
8a6161b16f
new strategy for protected ffi calls
2017-12-02 18:37:17 -05:00
kyren
b7c80ec066
make some things private
2017-12-02 17:47:00 -05:00
kyren
2b7e89e7c6
move error / panic metatable creation
2017-12-02 17:13:46 -05:00
kyren
fa1703d3d1
split macros into their own file
2017-12-02 17:04:33 -05:00
kyren
8a7e03978b
Experimental protected versions of all used 'm' erroring functions
2017-12-02 15:41:53 -05:00
kyren
cfa2b34a7b
Bump version to 0.9.7, update changelog
2017-11-08 14:07:48 -05:00
kyren
cf013a6a43
Merge pull request #55 from Timidger/bugfix/setting_metatable_nil
...
Fixes error when setting metatable to nil
2017-11-08 00:32:38 -05:00
Timidger
f9c451bd26
Add test ensuring behaviour is correct
2017-11-07 20:13:52 -08:00
Timidger
8ac27877e4
Only get gc on setmetatable if metatable isn't nil
2017-11-07 20:13:30 -08:00
kyren
33eff0e132
Merge pull request #54 from Timidger/feature/debug-unsafe-lib
...
Added ability to load debug lib, Fixes #52
2017-11-04 02:57:03 -04:00
Timidger
a137086064
Check that we have enough room on stack for module
2017-10-29 15:26:40 -07:00
Timidger
71fdca5477
Fixed test to use Lua assert
2017-10-29 15:24:54 -07:00
Timidger
316c6976e4
Added pop after loading lua library
2017-10-29 14:54:55 -07:00
Timidger
26b7901ab3
Added test for loading unsafe debug library in Lua
2017-10-29 14:53:30 -07:00
Timidger
2658433bd1
Added ability to load debug lib, Fixes #52
2017-10-28 20:46:24 -07:00
kyren
00a3153ae0
Bump version / changelog for 0.9.6
2017-10-26 16:53:14 -04:00
kyren
892069edd6
Correctly wrap external errors so that Debug trait and Error::cause are correct
2017-10-26 16:49:16 -04:00
kyren
8592af1b16
Bump version to 0.9.5, update changelog
2017-10-25 14:55:05 -04:00
kyren
deab88a851
Fix xpcall return values, make the tests a lot better.
2017-10-25 14:51:10 -04:00
kyren
773bf3e9ba
Fix some clippy lints, possible edge case API incompatibility around HashMap
2017-10-24 16:15:57 -04:00
kyren
4bbeeb2b2d
Update to 0.9.4, update changelog
2017-10-24 08:59:55 -04:00
kyren
f634ce1101
It turns out, luaL_ref uses 1 extra internal stack space
...
All my check_stack calls are wrong, and this blows up very easily in situations
with recursive data structures.
2017-10-24 08:53:26 -04:00
kyren
e7661a5c27
auto-formatting
2017-10-23 16:42:20 -04:00
kyren
8c30acec4e
Possibly better stack behavior
2017-10-23 15:17:46 -04:00
kyren
ba183b0119
Fix quadratic behavior in bind
2017-10-23 14:50:47 -04:00
kyren
4a7881f652
Whoops, messed up the version in the changelog.
2017-10-14 19:33:53 -04:00
kyren
401c06cfe6
Bump cargo version to 0.9.3, update changelog.
2017-10-14 19:27:24 -04:00
kyren
8a2cfeb00d
Update readme regarding plans for panic / abort safety and other clarifications
2017-10-14 18:53:05 -04:00
kyren
4b7a3403bc
Cleanups of userdata handling, particularly around callbacks
...
First, make sure that `add_methods` cannot trigger another userdata registry
insert, causing an unintended panic. Second, remove `RefCell` surrounding
userdata hashmap, as this change makes it no longer needed. Third, add a
`RefCell` around `Callback` because FnMut means that callbacks cannot recurse
into themselves, and panic appropriately when this happens. This should
eventually be turned into an error.
2017-10-14 18:26:09 -04:00
kyren
c5a4dfd7eb
more reorganization, move simple type defines to types.rs module
2017-09-30 01:27:18 -04:00
kyren
8324d9e648
move userdata tests into userdata.rs
2017-09-30 01:13:58 -04:00
kyren
7a45490aca
crudely move LightUserData/UserData/AnyUserData to their own module
2017-09-30 01:08:08 -04:00
kyren
cf764fbabe
move table tests to table.rs
2017-09-30 00:53:28 -04:00