From f761d0ae366333ab191d3a251336e21f16102eb2 Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" Date: Fri, 5 Nov 2021 10:51:47 -0700 Subject: [PATCH] stdscr binding print(curses.stdscr()) print(curses:stdscr()) --- src/lcurseslib.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/lcurseslib.c b/src/lcurseslib.c index d8667fc..c7b1c27 100644 --- a/src/lcurseslib.c +++ b/src/lcurseslib.c @@ -6,6 +6,13 @@ #include "lualib.h" +static int Pstdscr(lua_State *L) { + lua_pushstring(L, "curses:stdscr"); + lua_rawget(L, LUA_REGISTRYINDEX); + return 1; +} + + static int Pcols(lua_State *L) { lua_pushinteger(L, COLS); return 1; @@ -14,6 +21,7 @@ static int Pcols(lua_State *L) { static const struct luaL_Reg curseslib [] = { {"cols", Pcols}, + {"stdscr", Pstdscr}, {NULL, NULL} }; @@ -34,7 +42,11 @@ static void curses_newwin (lua_State *L, WINDOW *nw) { LUALIB_API int luaopen_curses (lua_State *L) { luaL_register(L, "curses", curseslib); + /* save main window on registry */ curses_newwin(L, stdscr); + lua_pushstring(L, "curses:stdscr"); + lua_pushvalue(L, -2); + lua_rawset(L, LUA_REGISTRYINDEX); return 1; }