diff --git a/include/luak/lua_compat.h b/include/luak/lua_compat.h deleted file mode 100644 index 3487d94..0000000 --- a/include/luak/lua_compat.h +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright (c), Niclas Meyer - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at https://mozilla.org/MPL/2.0/. - */ - -#ifndef KIWMI_LUAK_LUA_COMPAT_H -#define KIWMI_LUAK_LUA_COMPAT_H - -#include -#include - -#define luaC_newlibtable(L, l) \ - lua_createtable(L, 0, sizeof(l) / sizeof((l)[0]) - 1) - -#define luaC_newlib(L, l) (luaC_newlibtable(L, l), luaC_setfuncs(L, l, 0)) - -void luaC_setfuncs(lua_State *L, const luaL_Reg *l, int nup); - -#endif /* KIWMI_LUAK_LUA_COMPAT_H */ diff --git a/kiwmi/luak/kiwmi_cursor.c b/kiwmi/luak/kiwmi_cursor.c index edd8c00..45a34ee 100644 --- a/kiwmi/luak/kiwmi_cursor.c +++ b/kiwmi/luak/kiwmi_cursor.c @@ -19,7 +19,6 @@ #include "luak/kiwmi_lua_callback.h" #include "luak/kiwmi_output.h" #include "luak/kiwmi_view.h" -#include "luak/lua_compat.h" #include "luak/luak.h" static int @@ -319,9 +318,9 @@ luaK_kiwmi_cursor_register(lua_State *L) lua_pushvalue(L, -1); lua_setfield(L, -2, "__index"); - luaC_setfuncs(L, kiwmi_cursor_methods, 0); + luaL_setfuncs(L, kiwmi_cursor_methods, 0); - luaC_newlib(L, kiwmi_cursor_events); + luaL_newlib(L, kiwmi_cursor_events); lua_setfield(L, -2, "__events"); lua_pushcfunction(L, luaK_usertype_ref_equal); diff --git a/kiwmi/luak/kiwmi_keyboard.c b/kiwmi/luak/kiwmi_keyboard.c index 7b162f5..4b2ff3e 100644 --- a/kiwmi/luak/kiwmi_keyboard.c +++ b/kiwmi/luak/kiwmi_keyboard.c @@ -18,7 +18,6 @@ #include "input/keyboard.h" #include "luak/kiwmi_lua_callback.h" -#include "luak/lua_compat.h" static int l_kiwmi_keyboard_keymap(lua_State *L) @@ -354,9 +353,9 @@ luaK_kiwmi_keyboard_register(lua_State *L) lua_pushvalue(L, -1); lua_setfield(L, -2, "__index"); - luaC_setfuncs(L, kiwmi_keyboard_methods, 0); + luaL_setfuncs(L, kiwmi_keyboard_methods, 0); - luaC_newlib(L, kiwmi_keyboard_events); + luaL_newlib(L, kiwmi_keyboard_events); lua_setfield(L, -2, "__events"); lua_pushcfunction(L, luaK_usertype_ref_equal); diff --git a/kiwmi/luak/kiwmi_output.c b/kiwmi/luak/kiwmi_output.c index 42740ab..06a4bab 100644 --- a/kiwmi/luak/kiwmi_output.c +++ b/kiwmi/luak/kiwmi_output.c @@ -15,7 +15,6 @@ #include "desktop/output.h" #include "luak/kiwmi_lua_callback.h" -#include "luak/lua_compat.h" #include "server.h" static int @@ -391,9 +390,9 @@ luaK_kiwmi_output_register(lua_State *L) lua_pushvalue(L, -1); lua_setfield(L, -2, "__index"); - luaC_setfuncs(L, kiwmi_output_methods, 0); + luaL_setfuncs(L, kiwmi_output_methods, 0); - luaC_newlib(L, kiwmi_output_events); + luaL_newlib(L, kiwmi_output_events); lua_setfield(L, -2, "__events"); lua_pushcfunction(L, luaK_usertype_ref_equal); diff --git a/kiwmi/luak/kiwmi_server.c b/kiwmi/luak/kiwmi_server.c index cf44ea2..bf2e2c8 100644 --- a/kiwmi/luak/kiwmi_server.c +++ b/kiwmi/luak/kiwmi_server.c @@ -27,7 +27,6 @@ #include "luak/kiwmi_lua_callback.h" #include "luak/kiwmi_output.h" #include "luak/kiwmi_view.h" -#include "luak/lua_compat.h" #include "server.h" static int @@ -590,9 +589,9 @@ luaK_kiwmi_server_register(lua_State *L) lua_pushvalue(L, -1); lua_setfield(L, -2, "__index"); - luaC_setfuncs(L, kiwmi_server_methods, 0); + luaL_setfuncs(L, kiwmi_server_methods, 0); - luaC_newlib(L, kiwmi_server_events); + luaL_newlib(L, kiwmi_server_events); lua_setfield(L, -2, "__events"); lua_pushcfunction(L, luaK_usertype_ref_equal); diff --git a/kiwmi/luak/kiwmi_view.c b/kiwmi/luak/kiwmi_view.c index 84f9f4c..fe6e855 100644 --- a/kiwmi/luak/kiwmi_view.c +++ b/kiwmi/luak/kiwmi_view.c @@ -22,7 +22,6 @@ #include "input/seat.h" #include "luak/kiwmi_lua_callback.h" #include "luak/kiwmi_output.h" -#include "luak/lua_compat.h" #include "server.h" static int @@ -702,9 +701,9 @@ luaK_kiwmi_view_register(lua_State *L) lua_pushvalue(L, -1); lua_setfield(L, -2, "__index"); - luaC_setfuncs(L, kiwmi_view_methods, 0); + luaL_setfuncs(L, kiwmi_view_methods, 0); - luaC_newlib(L, kiwmi_view_events); + luaL_newlib(L, kiwmi_view_events); lua_setfield(L, -2, "__events"); lua_pushcfunction(L, luaK_usertype_ref_equal); diff --git a/kiwmi/luak/lua_compat.c b/kiwmi/luak/lua_compat.c deleted file mode 100644 index c7b2eea..0000000 --- a/kiwmi/luak/lua_compat.c +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright (c), Niclas Meyer - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at https://mozilla.org/MPL/2.0/. - */ - -#include "luak/lua_compat.h" - -#include - -void -luaC_setfuncs(lua_State *L, const luaL_Reg *l, int nup) -{ - luaL_checkstack(L, nup, "too many upvalues"); - for (; l->name; ++l) { - for (int i = 0; i < nup; ++i) { - lua_pushvalue(L, -nup); - } - lua_pushcclosure(L, l->func, nup); - lua_setfield(L, -(nup + 2), l->name); - } - lua_pop(L, nup); -} diff --git a/kiwmi/meson.build b/kiwmi/meson.build index d05e559..6f5a1e8 100644 --- a/kiwmi/meson.build +++ b/kiwmi/meson.build @@ -22,7 +22,6 @@ kiwmi_sources = files( 'luak/kiwmi_output.c', 'luak/kiwmi_server.c', 'luak/kiwmi_view.c', - 'luak/lua_compat.c', 'luak/luak.c', )