diff options
Diffstat (limited to 'Src/Zle')
-rw-r--r-- | Src/Zle/zle_main.c | 1 | ||||
-rw-r--r-- | Src/Zle/zle_params.c | 10 |
2 files changed, 11 insertions, 0 deletions
diff --git a/Src/Zle/zle_main.c b/Src/Zle/zle_main.c index 9332b509d..1ec0171bb 100644 --- a/Src/Zle/zle_main.c +++ b/Src/Zle/zle_main.c @@ -752,6 +752,7 @@ zleread(char *lp, char *rp, int flags) pmpt_attr = txtchange; rpromptbuf = promptexpand(rp, 1, NULL, NULL); rpmpt_attr = txtchange; + free_prepostdisplay(); zlereadflags = flags; histline = curhist; diff --git a/Src/Zle/zle_params.c b/Src/Zle/zle_params.c index ef8a98139..1987974d2 100644 --- a/Src/Zle/zle_params.c +++ b/Src/Zle/zle_params.c @@ -516,3 +516,13 @@ get_postdisplay(Param pm) { return get_prepost(postdisplay, postdisplaylen); } + +/**/ +void +free_prepostdisplay(void) +{ + if (predisplaylen) + set_prepost(&predisplay, &predisplaylen, NULL); + if (postdisplaylen) + set_prepost(&postdisplay, &postdisplaylen, NULL); +} |