Cygwin: pty: Change the timing of clear screen.
This commit is contained in:
		| @@ -2716,6 +2716,19 @@ fhandler_pty_slave::fixup_after_fork (HANDLE parent) | |||||||
|   // fork_fixup (parent, inuse, "inuse"); |   // fork_fixup (parent, inuse, "inuse"); | ||||||
|   // fhandler_pty_common::fixup_after_fork (parent); |   // fhandler_pty_common::fixup_after_fork (parent); | ||||||
|   report_tty_counts (this, "inherited", ""); |   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 | 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 */ |   /* Set locale */ | ||||||
|   setup_locale (); |   setup_locale (); | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user