about summary refs log tree commit diff
path: root/Src/Zle
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2002-07-04 10:13:38 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2002-07-04 10:13:38 +0000
commit76c1e267133ac66148c61b221041af2dbef89858 (patch)
tree41bba7d99143e268b5308ff19ef657345cce88aa /Src/Zle
parentc2dd10edc9136f11746b7cbedf5801106a2e0541 (diff)
downloadzsh-76c1e267133ac66148c61b221041af2dbef89858.tar.gz
zsh-76c1e267133ac66148c61b221041af2dbef89858.tar.xz
zsh-76c1e267133ac66148c61b221041af2dbef89858.zip
17405: adapt 17390 to reset PREDISPLAY and POSTDISPLAY when zle is entered
Diffstat (limited to 'Src/Zle')
-rw-r--r--Src/Zle/zle_main.c1
-rw-r--r--Src/Zle/zle_params.c10
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);
+}