about summary refs log tree commit diff
path: root/Src/utils.c
diff options
context:
space:
mode:
authorAndrey Borzenkov <bor@users.sourceforge.net>2007-05-10 11:36:22 +0000
committerAndrey Borzenkov <bor@users.sourceforge.net>2007-05-10 11:36:22 +0000
commitac1c48349664604fbaf5a69130be94ad0f472682 (patch)
tree741171c9915e4ce641322a65c1d75cf56d799635 /Src/utils.c
parent7d700220cf49f91ba9235cc338570cf9e7bfaafc (diff)
downloadzsh-ac1c48349664604fbaf5a69130be94ad0f472682.tar.gz
zsh-ac1c48349664604fbaf5a69130be94ad0f472682.tar.xz
zsh-ac1c48349664604fbaf5a69130be94ad0f472682.zip
23409: disable prompt_sp output after ^D was seen and message printed
Diffstat (limited to 'Src/utils.c')
-rw-r--r--Src/utils.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/Src/utils.c b/Src/utils.c
index 35915a2e7..98d441aa0 100644
--- a/Src/utils.c
+++ b/Src/utils.c
@@ -1156,10 +1156,13 @@ preprompt(void)
     int period = getiparam("PERIOD");
     int mailcheck = getiparam("MAILCHECK");
 
-    if (isset(PROMPTSP) && isset(PROMPTCR)) {
+    if (isset(PROMPTSP) && isset(PROMPTCR) && !use_exit_printed) {
 	/* The PROMPT_SP heuristic will move the prompt down to a new line
 	 * if there was any dangling output on the line (assuming the terminal
-	 * has automatic margins, but we try even if hasam isn't set). */
+	 * has automatic margins, but we try even if hasam isn't set).
+	 * Unfortunately it interacts badly with ZLE displaying message
+	 * when ^D has been pressed. So just disable PROMPT_SP logic in
+	 * this case */
 	char *str;
 	int percents = opts[PROMPTPERCENT];
 	opts[PROMPTPERCENT] = 1;