Cygwin: pty: Change the timing of clearing screen.
- The code which clears screen is moved from reset_switch_to_pcon() to fixup_after_exec() because it seems not too early even at this timing.
This commit is contained in:
parent
d83c45b46c
commit
244f03627d
|
@ -1041,19 +1041,6 @@ skip_console_setting:
|
|||
void
|
||||
fhandler_pty_slave::reset_switch_to_pcon (void)
|
||||
{
|
||||
if (get_ttyp ()->need_clear_screen)
|
||||
{
|
||||
const char *term = getenv ("TERM");
|
||||
if (term && strcmp (term, "dumb") && !strstr (term, "emacs"))
|
||||
{
|
||||
/* FIXME: Clearing sequence may not be "^[[H^[[J"
|
||||
depending on the terminal type. */
|
||||
DWORD n;
|
||||
WriteFile (get_output_handle_cyg (), "\033[H\033[J", 6, &n, NULL);
|
||||
}
|
||||
get_ttyp ()->need_clear_screen = false;
|
||||
}
|
||||
|
||||
if (isHybrid)
|
||||
this->set_switch_to_pcon (fd);
|
||||
if (get_ttyp ()->pcon_pid &&
|
||||
|
@ -2742,6 +2729,19 @@ fhandler_pty_slave::fixup_after_exec ()
|
|||
}
|
||||
}
|
||||
|
||||
if (get_ttyp ()->need_clear_screen)
|
||||
{
|
||||
const char *term = getenv ("TERM");
|
||||
if (term && strcmp (term, "dumb") && !strstr (term, "emacs"))
|
||||
{
|
||||
/* FIXME: Clearing sequence may not be "^[[H^[[J"
|
||||
depending on the terminal type. */
|
||||
DWORD n;
|
||||
WriteFile (get_output_handle_cyg (), "\033[H\033[J", 6, &n, NULL);
|
||||
}
|
||||
get_ttyp ()->need_clear_screen = false;
|
||||
}
|
||||
|
||||
/* Set locale */
|
||||
setup_locale ();
|
||||
|
||||
|
|
Loading…
Reference in New Issue