diff options
author | Takashi Yano <takashi.yano@nifty.ne.jp> | 2019-10-16 21:34:09 +0900 |
---|---|---|
committer | Ken Brown <kbrown@cornell.edu> | 2019-10-16 15:15:47 -0400 |
commit | 43d7f33e2cab414a9f42a03b3347bc41e029dbbc (patch) | |
tree | c635d375c5bf9c9e9f71169ac4d554451362535b | |
parent | 9bedd6807dc3a1ad6c80e62a6a7aae27ca769de0 (diff) | |
download | cygnal-43d7f33e2cab414a9f42a03b3347bc41e029dbbc.tar.gz cygnal-43d7f33e2cab414a9f42a03b3347bc41e029dbbc.tar.bz2 cygnal-43d7f33e2cab414a9f42a03b3347bc41e029dbbc.zip |
Cygwin: pty: Change the timing of clear screen.
-rw-r--r-- | winsup/cygwin/fhandler_tty.cc | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/winsup/cygwin/fhandler_tty.cc b/winsup/cygwin/fhandler_tty.cc index dbb035ff3..da6119dfb 100644 --- a/winsup/cygwin/fhandler_tty.cc +++ b/winsup/cygwin/fhandler_tty.cc @@ -2716,6 +2716,19 @@ fhandler_pty_slave::fixup_after_fork (HANDLE parent) // fork_fixup (parent, inuse, "inuse"); // fhandler_pty_common::fixup_after_fork (parent); report_tty_counts (this, "inherited", ""); + + 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; + } } void @@ -2759,19 +2772,6 @@ 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 (); |