Alex Orlenko
55b778c68b
Fix clippy warnings
2022-03-22 00:47:31 +00:00
Alex Orlenko
37cddc6b1c
Replace compat53_countlevels with lua_stackdepth for Luau
2022-03-21 01:08:48 +00:00
Alex Orlenko
2c069f7033
Update to luau 0.519
2022-03-21 01:08:48 +00:00
Alex Orlenko
32124b31a0
Move chunks structs to a new module.
...
Add Luau Compiler interface to compile sources.
2022-03-21 01:08:47 +00:00
Alex Orlenko
3e5f8e7bb8
Enable `Lua::inspect_stack` for Luau
2022-03-21 01:08:47 +00:00
Alex Orlenko
cab92f4ea2
Update luaL_traceback for Luau
2022-03-21 01:08:47 +00:00
Alex Orlenko
eed7b1f3af
More ffi module refactoring
2022-03-20 20:30:20 +00:00
Alex Orlenko
c322e028e2
Initial Luau support
2022-03-20 20:30:20 +00:00
Alex Orlenko
6dc127f4eb
Refactor ffi module
...
Initial Luau support work
2022-03-20 20:30:18 +00:00
Alex Orlenko
9a5a341e44
Recognize LuaJIT TCDATA type to generate correct panic message.
...
Relates to #127
Should be fixed in a next major release by adding support of TCDATA type.
2022-02-12 18:40:18 +00:00
Alex Orlenko
0ef709672d
Add set_warning_function/remove_warning_function/warning functions to Lua for 5.4
...
This utilizes Lua 5.4 warnings system (https://www.lua.org/manual/5.4/manual.html#pdf-warn )
2021-11-16 12:05:34 +00:00
Alex Orlenko
41503b4fb8
Update callback_error_ext (+ fix callback multi states handling)
2021-11-16 11:53:51 +00:00
Alex Orlenko
f71db80a74
Change definition of `lua_State` to opaque struct
2021-10-19 11:45:38 +01:00
Alex Orlenko
59253410bb
Update trybuild messages
2021-07-13 11:59:33 +01:00
Alex Orlenko
1fe583027b
Add new functions: `lua.load_from_function()` and `lua.create_c_function()`
...
This should be useful to register embedded C modules to Lua state.
Provides a solution for #61
2021-07-05 00:03:18 +01:00
Alex Orlenko
14d5c2c887
Lua->Rust callback performance improvements
2021-06-20 00:24:53 +01:00
Alex Orlenko
9f0378b77e
Complitely remove the C shim
2021-06-16 22:21:45 +01:00
Alex Orlenko
d3f44354e0
Revert commit ced808d5ab
...
I think this experiment is unsuccessful and does not work well in a module mode
with dynamic symbols resolution and mixing between different mlua instances.
Overall the Rust bug has been fixed and we can wait for the "C-unwind" feature become stable.
2021-06-16 22:13:01 +01:00
Alex Orlenko
3b9d8a7b5f
Keep all Lua symbols in unsafe mode to load C modules
2021-06-12 18:00:55 +01:00
Alex Orlenko
b610a79d66
Update docs & minor error handling code changes
2021-05-11 14:18:22 +01:00
Alex Orlenko
fe39ae09bf
Try different approach for errors handling.
...
Instead of convering error to CallbackError in error message handler,
do it earlier at callback_error stage.
Better fix for #44 .
2021-05-11 00:53:07 +01:00
Alex Orlenko
35b7504076
Improve error reporting in module mode.
...
Attach traceback to a WrappedError.
Fixes #44 .
2021-05-10 17:45:00 +01:00
Alex Orlenko
5293b8d6d2
Add `Thread::reset()` for luajit/lua54
2021-05-05 11:11:32 +01:00
Alex Orlenko
205510a540
Update sys align code
2021-05-04 23:55:24 +01:00
Alex Orlenko
2250421438
Fix clippy warnings
2021-05-04 23:42:33 +01:00
Alex Orlenko
0f4bcca7ce
Add `LuaOptions` to customize Lua/Rust behaviour.
...
The only option is `catch_rust_panics` to optionally disable catching Rust panics via pcall/xpcall.
2021-05-03 21:33:49 +01:00
Alex Orlenko
3f55958bdd
Stack assertions review
...
Other minor code and documentation updates
2021-05-02 11:42:03 +01:00
Alex Orlenko
ced808d5ab
Don't trigger longjmp in rust.
...
Motivation behind this change is upcoming breaking change in Rust
compiler v1.52.0 to prevent unwinding across FFI boundaries.
https://github.com/rust-lang/rust/pull/76570
The new functionality requires nightly compiler to declare FFI
functions as "C-unwind".
The fundamental solution is to use C shim to wrap "e" and "m"
Lua functions in pcall.
Additionally define Rust calling convention to trigger lua_error
on Rust behalf.
2021-04-27 00:29:38 +01:00
Alex Orlenko
c95ac32741
Add inline(always) to some compat53 functions
2021-04-27 00:29:37 +01:00
Alex Orlenko
5a7ad9f7cd
Fix some clippy warnings & minor changes
2021-04-27 00:29:37 +01:00
Alex Orlenko
7775b4a99c
Bump copyright year
2021-02-26 10:35:00 +00:00
Alex Orlenko
e62fd400d7
Remove unused exports from glue.{c,rs} && Fix some clippy warnings
2021-01-16 13:31:45 +00:00
Alex Orlenko
d201beadc9
Add ChunkMode enum to mark chunks as text or binary
2020-07-28 21:04:21 +01:00
Alex Orlenko
dd58cdad52
Add Function::dump() to dump lua function to a binary chunk
2020-07-27 23:26:33 +01:00
Alex Orlenko
0a13a9631d
Fix LuaJIT 2.1 libraries loading
2020-06-07 20:38:19 +01:00
Alex Orlenko
3d42bc4ca6
Refactor main_state handling
...
Don't allow to set hook if main_state is not available
Remove Lua 5.1 dirty hack
2020-06-07 20:38:19 +01:00
Alex Orlenko
95b9fe8dac
Fix clippy warnings
2020-06-07 20:38:19 +01:00
Alex Orlenko
d5c22d989a
Dirty hack to get lua 5.1 main state
2020-06-06 16:07:16 +01:00
Alex Orlenko
c3822219e0
Add hooks support (based on rlua v0.17 implementation)
...
This feature works on lua54, lua53, lua52 and lua51 only.
LuaJIT is unstable.
2020-06-06 16:07:16 +01:00
Alex Orlenko
9f2d598517
Add clippy check and fix clippy warnings
2020-05-15 01:48:56 +01:00
Alex Orlenko
1b2b94c808
Use Rust allocator for new Lua states that allows to set memory limit
2020-05-12 02:14:48 +01:00
Alex Orlenko
5c226b4915
Lua 5.4 FFI
2020-05-11 02:43:34 +01:00
Alex Orlenko
d366ce0dd4
Scope support (including async)
2020-05-11 02:43:34 +01:00
Alex Orlenko
42b33849e1
Add support of loading a specified set of standard libraries
2019-12-26 23:04:21 +00:00
Alex Orlenko
fd17a01456
Add Lua 5.2 support
2019-11-30 00:58:41 +00:00
Alex Orlenko
ae677b0918
Move lua 5.1 support under new "lua51" feature
2019-11-04 22:23:15 +00:00
Alex Orlenko
c4fd7a9faf
Lua 5.1 support
2019-10-17 17:05:42 +01:00
Alex Orlenko
b7c578c274
Replace libc with std::os::raw
2019-10-02 22:12:28 +01:00
Alex Orlenko
2e5762f6e5
fmt glue.c
2019-09-30 22:34:47 +01:00
Alex Orlenko
b23ee6a162
cargo fmt
2019-09-29 12:56:03 +01:00
Alex Orlenko
affa85feb0
Backport changes from rlua 0.16 (master branch)
2019-09-29 12:53:13 +01:00
Alex Orlenko
53b352466e
Replace ffi module with implementation from "jcmoyer/rust-lua53" crate
2019-09-29 12:42:07 +01:00