Previous | 199869 Revisions | Next |
r192725 Monday 6th March, 2023 at 14:39:42 UTC by Vasantha Crabb |
---|
Various updates, mostly around Lua: Compile Lua as C++. When Lua is compiled as C, it uses setjmp/longjmp for error handling, resulting in failure to unwind intermediate stack frames. Trying to ensure no objects with non-trivial destructors are in scope when raising a Lua error is error-prone. In particular, converting an exception to a Lua error becomes convoluted, and raising a Lua error from a constructor is effectively impossible. Updated Lua to 5.4.4 - this includes a brand-new garbage collector implementation with better performance. The main thing removed is the deprecated bitlib. Updated sol2 to version 3.3.0 - this adds support for Lua 5.4 and fixes a number of issues, including not correctly handling errors when Lua is built as C++. Updated LuaFileSystem to version 1.8.0 - this adds support for symbolic links on Windows, as well as Lua 5.4 compatibility. Updated LuaSQLite3 to version 0.9.5 - this fixes issues in multi-threaded environments, as well as Lua 5.4 compatibility. Fixed double-free after attempting to construct a debugger expression from Lua with an invalid string, and exposed expression error to Lua in a better way. Added warning level print function to Lua. Fixed saving cheats with shift operators in expressions, although this code isn't actually used as there's no cheat editor. |
[3rdparty/lsqlite3] | HISTORY README |
[3rdparty/lsqlite3/doc] | lsqlite3.wiki |
[3rdparty/lsqlite3/test] | test.lua tests-sqlite3.lua |
[3rdparty/lua] | Makefile README |
[3rdparty/lua/doc] | contents.html lua.1 lua.css manual.html readme.html |
[3rdparty/lua/src] | Makefile lapi.c lapi.h lauxlib.c lauxlib.h lbaselib.c |
[3rdparty/luafilesystem] | .gitignore* .travis.yml Makefile |
[3rdparty/luafilesystem/.travis] | |
[3rdparty/luafilesystem/doc/us] | doc.css examples.html index.html license.html manual.html |
[3rdparty/luafilesystem/rockspecs] | |
[3rdparty/luafilesystem/src] | lfs.c lfs.def lfs.h |
[3rdparty/luafilesystem/tests] | test.lua |
[3rdparty/sol2/sol] | config.hpp forward.hpp sol.hpp |
[docs/source/techspecs] | luareference.rst |
[scripts/src] | 3rdparty.lua |
[src/emu/debug] | express.h |
[src/frontend/mame] | cheat.cpp luaengine.cpp luaengine.h luaengine.ipp luaengine_debug.cpp |
https://github.com/mamedev/mame/commit/b5475eb38b8b79a13a0a9e8a6cb68755b84f0c7b |
Previous | 199869 Revisions | Next |