# HG changeset patch # User Bram Moolenaar # Date 1588099504 -7200 # Node ID 304015471ae968e3823c030c1a5e6bacdb540f2e # Parent 84fc9bacfd32f6fa81a90af2dc41cdf250051b6d patch 8.2.0656: MS-Windows: redrawing right screen edge may not be needed Commit: https://github.com/vim/vim/commit/7ed8f59ae09278c666f1b43488351f9450097372 Author: Bram Moolenaar Date: Tue Apr 28 20:44:42 2020 +0200 patch 8.2.0656: MS-Windows: redrawing right screen edge may not be needed Problem: MS-Windows: redrawing right screen edge may not be needed. Solution: Check the build version. (Nobuhiro Takasaki, closes https://github.com/vim/vim/issues/6002) diff --git a/src/drawscreen.c b/src/drawscreen.c --- a/src/drawscreen.c +++ b/src/drawscreen.c @@ -2439,7 +2439,8 @@ win_update(win_T *wp) #ifdef FEAT_VTP // Rewrite the character at the end of the screen line. - if (use_vtp()) + // See the version that was fixed. + if (use_vtp() && get_conpty_fix_type() < 1) { int i; diff --git a/src/os_win32.c b/src/os_win32.c --- a/src/os_win32.c +++ b/src/os_win32.c @@ -188,6 +188,7 @@ static int win32_set_archive(char_u *nam static int conpty_working = 0; static int conpty_type = 0; static int conpty_stable = 0; +static int conpty_fix_type = 0; static void vtp_flag_init(); #if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL) @@ -7289,6 +7290,12 @@ mch_setenv(char *var, char *value, int x #define CONPTY_1909_BUILD MAKE_VER(10, 0, 18363) /* + * Stay ahead of the next update, and when it's done, fix this. + * version ? (2020 update, temporarily use the build number of insider preview) + */ +#define CONPTY_NEXT_UPDATE_BUILD MAKE_VER(10, 0, 19587) + +/* * Confirm until this version. Also the logic changes. * insider preview. */ @@ -7334,6 +7341,9 @@ vtp_flag_init(void) conpty_type = 2; if (ver < CONPTY_FIRST_SUPPORT_BUILD) conpty_type = 1; + + if (ver >= CONPTY_NEXT_UPDATE_BUILD) + conpty_fix_type = 1; } #if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL) || defined(PROTO) @@ -7622,6 +7632,12 @@ is_conpty_stable(void) return conpty_stable; } + int +get_conpty_fix_type(void) +{ + return conpty_fix_type; +} + #if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL) || defined(PROTO) void resize_console_buf(void) diff --git a/src/proto/os_win32.pro b/src/proto/os_win32.pro --- a/src/proto/os_win32.pro +++ b/src/proto/os_win32.pro @@ -79,5 +79,6 @@ int has_vtp_working(void); int has_conpty_working(void); int get_conpty_type(void); int is_conpty_stable(void); +int get_conpty_fix_type(void); void resize_console_buf(void); /* vim: set ft=c : */ diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -747,6 +747,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 656, +/**/ 655, /**/ 654,