summaryrefslogtreecommitdiff
path: root/Src/Zle/zle_main.c
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2008-02-14 15:21:35 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2008-02-14 15:21:35 +0000
commit5a52e1ee8096e878f3274f606cbd6fee3fa1dbbe (patch)
tree3ffd5b501e8ef9ff69ae0dc2cf465350c87c2877 /Src/Zle/zle_main.c
parentae7d5b55030ee124e5bf28478264aafde3bfcc64 (diff)
downloadzsh-5a52e1ee8096e878f3274f606cbd6fee3fa1dbbe.tar.gz
zsh-5a52e1ee8096e878f3274f606cbd6fee3fa1dbbe.zip
24551: Free heap memory after every ZLE command
Diffstat (limited to 'Src/Zle/zle_main.c')
-rw-r--r--Src/Zle/zle_main.c13
1 files changed, 13 insertions, 0 deletions
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),
};