1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-10-28 17:10:59 +01:00

23409: disable prompt_sp output after ^D was seen and message printed

This commit is contained in:
Andrey Borzenkov 2007-05-10 11:36:22 +00:00
parent 7d700220cf
commit ac1c483496
3 changed files with 13 additions and 3 deletions

View file

@ -1,3 +1,10 @@
2007-05-10 Andrey Borzenkov <bor@zsh.org>
* 23409 with extra comment: Src/init.c, Src/utils.c: after ZLE
displayed "use 'exit' to exit" message, PROMPT_SP will overwrite
prompt without ZLE knowing about it. Disable PROMPT_SP output if
message was printed.
2007-05-10 Peter Stephenson <pws@csr.com>
* Peter A. Castro: 23408: zftp account handling was broken.

View file

@ -123,6 +123,7 @@ loop(int toplevel, int justonce)
errflag = 0;
}
}
use_exit_printed = 0;
intr(); /* interrupts on */
lexinit(); /* initialize lexical state */
if (!(prog = parse_event())) { /* if we couldn't parse a list */
@ -1335,7 +1336,6 @@ zsh_main(UNUSED(int argc), char **argv)
init_misc();
for (;;) {
use_exit_printed = 0;
/*
* See if we can free up some of jobtab.
* We only do this at top level, because if we are

View file

@ -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;