From b477e24aa267e57584db80796707184045f9885f Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Sun, 17 Sep 2006 17:42:56 +0000 Subject: 22727: "use 'exit' to exit" was suboptimal --- Src/init.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'Src/init.c') diff --git a/Src/init.c b/Src/init.c index 9d6a0514e..50bdec59d 100644 --- a/Src/init.c +++ b/Src/init.c @@ -1244,6 +1244,13 @@ fallback_compctlread(char *name, UNUSED(char **args), UNUSED(Options ops), UNUSE return 1; } +/* + * Used by zle to indicate it has already printed a "use 'exit' to exit" + * message. + */ +/**/ +mod_export int use_exit_printed; + /* * This is real main entry point. This has to be mod_export'ed * so zsh.exe can found it on Cygwin @@ -1313,6 +1320,7 @@ 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 @@ -1343,7 +1351,13 @@ zsh_main(UNUSED(int argc), char **argv) stopmsg = 1; zexit(lastval, 0); } - zerrnam("zsh", (!islogin) ? "use 'exit' to exit." - : "use 'logout' to logout."); + /* + * Don't print the message if it was already handled by + * zle, since that makes special arrangements to keep + * the display tidy. + */ + if (!use_exit_printed) + zerrnam("zsh", (!islogin) ? "use 'exit' to exit." + : "use 'logout' to logout."); } } -- cgit v1.2.3