summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--Src/Zle/zle_refresh.c4
2 files changed, 5 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 6b80b19f5..691f54c77 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2016-03-03  Barton E. Schaefer  <schaefer@zsh.org>
 
+	* 38048: Src/zle_refresh.c: fix "zle redisplay" when called while
+	a listing is below the prompt (e.g., from interrupt handler)
+
 	* 38039: Src/options.c: POSIXy behavior for "set +o"
 
 2016-02-26  Peter Stephenson  <p.w.stephenson@ntlworld.com>
diff --git a/Src/Zle/zle_refresh.c b/Src/Zle/zle_refresh.c
index 7e4f32876..aca676a1c 100644
--- a/Src/Zle/zle_refresh.c
+++ b/Src/Zle/zle_refresh.c
@@ -2435,8 +2435,8 @@ redisplay(UNUSED(char **args))
     moveto(0, 0);
     zputc(&zr_cr);		/* extra care */
     tc_upcurs(lprompth - 1);
-    resetneeded = 1;
-    clearflag = 0;
+    resetneeded = !showinglist;
+    clearflag = showinglist;
     return 0;
 }