From 10dae68ead959518650884a91bc2ca75a0afada0 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Fri, 16 May 2014 11:55:16 +1000 Subject: Skang moduleBegin() stuffs the module in the C registry, so no one has to do this now. NOTE - It uses a Lua debug function for this. --- lib/skang.lua | 1 + src/GuiLua/test_c.c | 2 -- src/purkle/purkle.c | 2 -- 3 files changed, 1 insertion(+), 4 deletions(-) diff --git a/lib/skang.lua b/lib/skang.lua index 0f91e44..394c3f8 100644 --- a/lib/skang.lua +++ b/lib/skang.lua @@ -95,6 +95,7 @@ moduleBegin = function (name, author, copyright, version, timestamp, skin, isLua -- Returning it at the end does the same thing. -- This is so that we can have all the module stuff at the top, in this function. -- Should do this before any further require(), so that circular references don't blow out. + debug.getregistry()[name] = _M -- Stuff the result in the C registry. -- Save the callers environment. local savedEnvironment diff --git a/src/GuiLua/test_c.c b/src/GuiLua/test_c.c index f548e4d..e85814b 100644 --- a/src/GuiLua/test_c.c +++ b/src/GuiLua/test_c.c @@ -65,8 +65,6 @@ int luaopen_test_c(lua_State *L) // local _M = skang.moduleBegin('test_c', nil, 'Copyright 2014 David Seikel', '0.1', '2014-03-27 03:57:00', nil, false) push_lua(L, "@ ( $ ~ $ $ $ ~ ! )", skang, MODULEBEGIN, ourName, "Copyright 2014 David Seikel", "0.1", "2014-03-27 03:57:00", 0, 1); - lua_setfield(L, LUA_REGISTRYINDEX, ourName); - lua_getfield(L, LUA_REGISTRYINDEX, ourName); _M = lua_gettop(L); // This uses function{} style. diff --git a/src/purkle/purkle.c b/src/purkle/purkle.c index f86f3f3..6c211c0 100644 --- a/src/purkle/purkle.c +++ b/src/purkle/purkle.c @@ -65,8 +65,6 @@ int luaopen_purkle(lua_State *L) // local _M = skang.moduleBegin('test_c', nil, 'Copyright 2014 David Seikel', '0.1', '2014-03-27 03:57:00', nil, false) push_lua(L, "@ ( $ ~ $ $ $ ~ ! )", skang, MODULEBEGIN, ourName, "Copyright 2014 David Seikel", "0.1", "2014-05-08 07:18:00", 0, 1); - lua_setfield(L, LUA_REGISTRYINDEX, ourName); - lua_getfield(L, LUA_REGISTRYINDEX, ourName); _M = lua_gettop(L); push_lua(L, "@ ( = $ $ & $ )", skang, THINGASM, _M, "append", "Append text to the history box.", append, "string", 0); -- cgit v1.1