mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-10-22 16:20:23 +02:00
24551: Free heap memory after every ZLE command
This commit is contained in:
parent
ae7d5b5503
commit
5a52e1ee80
3 changed files with 21 additions and 0 deletions
|
@ -1,3 +1,10 @@
|
|||
2008-02-14 Peter Stephenson <pws@csr.com>
|
||||
|
||||
* 24551: Src/Zle/compresult.c, Src/Zle/zle_main.c: free heap
|
||||
memory after each full Zle command executed (plus cosmetics).
|
||||
Still need to try and stop menu selection accumulating heap
|
||||
memory.
|
||||
|
||||
2008-02-11 Peter Stephenson <pws@csr.com>
|
||||
|
||||
* users/12547: Completion/Darwin/Type/_mac_files_for_application,
|
||||
|
|
|
@ -1200,6 +1200,7 @@ do_menucmp(int lst)
|
|||
showinglist = -2;
|
||||
return;
|
||||
}
|
||||
|
||||
/* Otherwise go to the next match in the array... */
|
||||
do {
|
||||
if (!*++(minfo.cur)) {
|
||||
|
|
|
@ -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),
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue