diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2021-12-16 04:02:37 -0800 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2021-12-16 04:02:37 -0800 |
commit | 76ed8d30f411d980d25086d2bbfe048c2816180d (patch) | |
tree | 4fe93db6b5794c6dc9f2cd6be12079834120ec38 | |
parent | 68e008526a8e5a461f42beca3518b39deccdba27 (diff) | |
download | teliva-76ed8d30f411d980d25086d2bbfe048c2816180d.tar.gz |
Revert "stop leaking on the Lua stack"
This reverts commit 7c1b9d0b91295323b5ed5ec3e09b46566288bc75. The 'big hammer' isn't good enough. The recent changes view seems to need state on the stack across invocations of the editor.
-rw-r--r-- | src/kilo.c | 1 | ||||
-rw-r--r-- | src/lua.c | 4 |
2 files changed, 2 insertions, 3 deletions
diff --git a/src/kilo.c b/src/kilo.c index f5cea3d..4a5bf52 100644 --- a/src/kilo.c +++ b/src/kilo.c @@ -1080,7 +1080,6 @@ static int Quit = 0; static int Back_to_big_picture = 0; extern void save_editor_state(int rowoff, int coloff, int cy, int cx); static void editorProcessKeypress(lua_State* L) { - lua_settop(L, 0); /* big hammer to avoid overflowing the stack */ int c = getch(); //? mvprintw(LINES-3, 60, "key: %d\n", c); //? getch(); diff --git a/src/lua.c b/src/lua.c index 834e547..ac6e249 100644 --- a/src/lua.c +++ b/src/lua.c @@ -901,10 +901,10 @@ int restore_editor_view (lua_State *L) { status = load_editor_buffer_to_current_definition_in_image(L); if (status == 0 || lua_isnil(L, -1)) break; - Previous_error = strdup(lua_tostring(L, -1)); /* memory leak */ + Previous_error = lua_tostring(L, -1); if (Previous_error == NULL) Previous_error = "(error object is not a string)"; - lua_pop(L, 1); back_to_big_picture = resumeEdit(L); + lua_pop(L, 1); } return back_to_big_picture; } |