[PATCH] Cygwin: pty: Change the timing of clear screen.
Ken Brown
kbrown@cornell.edu
Thu Oct 17 14:55:00 GMT 2019
On 10/16/2019 8:34 AM, Takashi Yano wrote:
> ---
> winsup/cygwin/fhandler_tty.cc | 26 +++++++++++++-------------
> 1 file changed, 13 insertions(+), 13 deletions(-)
>
> diff --git a/winsup/cygwin/fhandler_tty.cc b/winsup/cygwin/fhandler_tty.cc
> index 1095c82eb..baf3c9794 100644
> --- a/winsup/cygwin/fhandler_tty.cc
> +++ b/winsup/cygwin/fhandler_tty.cc
> @@ -2714,6 +2714,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
> @@ -2757,19 +2770,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 ();
This and the previous patch look good to me, but we should probably wait
for Haubi to confirm that they fix the problems he reported.
Ken
More information about the Cygwin-patches
mailing list