about summary refs log tree commit diff
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>1999-05-04 21:30:31 +0000
committerTanaka Akira <akr@users.sourceforge.net>1999-05-04 21:30:31 +0000
commit3a52173fefccce7a007f2a57e287e2e3afdcee60 (patch)
tree17d7ee9f723c1ccaa24ee77c9d021d00bf9c9b57
parentf52a9fb11e61a5b62fa77d43fb635556de3fb648 (diff)
downloadzsh-3a52173fefccce7a007f2a57e287e2e3afdcee60.tar.gz
zsh-3a52173fefccce7a007f2a57e287e2e3afdcee60.tar.xz
zsh-3a52173fefccce7a007f2a57e287e2e3afdcee60.zip
zsh-workers:6212
-rw-r--r--Src/Zle/zle_misc.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/Src/Zle/zle_misc.c b/Src/Zle/zle_misc.c
index e7f1744d5..a3069a7d0 100644
--- a/Src/Zle/zle_misc.c
+++ b/Src/Zle/zle_misc.c
@@ -127,6 +127,7 @@ killwholeline(void)
 	for (i = cs; i != ll && line[i] != '\n'; i++);
 	forekill(i - cs + (i != ll), fg);
     }
+    clearlist = 1;
 }
 
 /**/
@@ -611,7 +612,7 @@ Thingy
 executenamedcommand(char *prmt)
 {
     Thingy cmd;
-    int len, l = strlen(prmt);
+    int len, l = strlen(prmt), ols = listshown;
     char *ptr;
     char *okeymap = curkeymapname;
 
@@ -629,6 +630,10 @@ executenamedcommand(char *prmt)
 	if (!(cmd = getkeycmd()) || cmd == Th(z_sendbreak)) {
 	    statusline = NULL;
 	    selectkeymap(okeymap, 1);
+	    if ((listshown = ols))
+		showinglist = -2;
+	    else
+		clearlist = 1;
 	    return NULL;
 	}
 	if(cmd == Th(z_clearscreen)) {
@@ -669,6 +674,10 @@ executenamedcommand(char *prmt)
 		    unrefthingy(r);
 		    statusline = NULL;
 		    selectkeymap(okeymap, 1);
+		    if ((listshown = ols))
+			showinglist = -2;
+		    else
+			clearlist = 1;
 		    return r;
 		}
 		unrefthingy(r);