From 5a52e1ee8096e878f3274f606cbd6fee3fa1dbbe Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Thu, 14 Feb 2008 15:21:35 +0000 Subject: 24551: Free heap memory after every ZLE command --- Src/Zle/compresult.c | 1 + Src/Zle/zle_main.c | 13 +++++++++++++ 2 files changed, 14 insertions(+) (limited to 'Src') diff --git a/Src/Zle/compresult.c b/Src/Zle/compresult.c index 021330ddb..471e7c2c6 100644 --- a/Src/Zle/compresult.c +++ b/Src/Zle/compresult.c @@ -1200,6 +1200,7 @@ do_menucmp(int lst) showinglist = -2; return; } + /* Otherwise go to the next match in the array... */ do { if (!*++(minfo.cur)) { diff --git a/Src/Zle/zle_main.c b/Src/Zle/zle_main.c index e29b759e9..8df07e7ef 100644 --- a/Src/Zle/zle_main.c +++ b/Src/Zle/zle_main.c @@ -1000,6 +1000,8 @@ zlecore(void) FD_ZERO(&foofd); #endif + pushheap(); + /* * A widget function may decide to exit the shell. * We never exit directly from functions, to allow @@ -1070,7 +1072,11 @@ zlecore(void) #endif if (!kungetct) zrefresh(); + + freeheap(); } + + popheap(); } /* Read a line. It is returned metafied. */ @@ -1786,12 +1792,19 @@ static struct builtin bintab[] = { /**/ mod_export struct hookdef zlehooks[] = { + /* LISTMATCHESHOOK */ HOOKDEF("list_matches", NULL, 0), + /* COMPLETEHOOK */ HOOKDEF("complete", NULL, 0), + /* BEFORECOMPLETEHOOK */ HOOKDEF("before_complete", NULL, 0), + /* AFTERCOMPLETEHOOK */ HOOKDEF("after_complete", NULL, 0), + /* ACCEPTCOMPHOOK */ HOOKDEF("accept_completion", NULL, 0), + /* REVERSEMENUHOOK */ HOOKDEF("reverse_menu", NULL, 0), + /* INVALIDATELISTHOOK */ HOOKDEF("invalidate_list", NULL, 0), }; -- cgit 1.4.1