diff options
author | Bram Moolenaar <Bram@vim.org> | 2017-06-04 15:45:50 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2017-06-04 15:45:50 +0200 |
commit | 976787d1f31451ca7a88e774a03e6c24ddc67876 (patch) | |
tree | 5dd554c1b2fa5c0c89c7dca6033beced9bd436b4 | |
parent | 4b974d54434b8020771be7225da94648e9ec961a (diff) | |
download | vim-git-976787d1f31451ca7a88e774a03e6c24ddc67876.tar.gz |
patch 8.0.0611: the screen is not redrawn after sending t_u7v8.0.0611
Problem: When t_u7 is sent a few characters in the second screen line are
overwritten and not redrawn later. (Rastislav Barlik)
Solution: Move redrawing the screen to after overwriting the characters.
-rw-r--r-- | src/main.c | 8 | ||||
-rw-r--r-- | src/term.c | 4 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 11 insertions, 3 deletions
diff --git a/src/main.c b/src/main.c index 883c9cc23..ebd1ec333 100644 --- a/src/main.c +++ b/src/main.c @@ -783,6 +783,11 @@ vim_main2(void) if (params.n_commands > 0) exe_commands(¶ms); +#if defined(FEAT_TERMRESPONSE) && defined(FEAT_MBYTE) + /* Must be done before redrawing, puts a few characters on the screen. */ + may_req_ambiguous_char_width(); +#endif + RedrawingDisabled = 0; redraw_all_later(NOT_VALID); no_wait_return = FALSE; @@ -796,9 +801,6 @@ vim_main2(void) * argument doesn't make it appear in the shell Vim was started from. */ may_req_termresponse(); -# if defined(FEAT_MBYTE) - may_req_ambiguous_char_width(); -# endif may_req_bg_color(); #endif diff --git a/src/term.c b/src/term.c index fb6b59e96..6dd59ad33 100644 --- a/src/term.c +++ b/src/term.c @@ -3333,9 +3333,13 @@ may_req_ambiguous_char_width(void) out_str(T_U7); u7_status = U7_SENT; out_flush(); + + /* This overwrites a few characters on the screen, a redraw is needed + * after this. Clear them out for now. */ term_windgoto(1, 0); out_str((char_u *)" "); term_windgoto(0, 0); + /* check for the characters now, otherwise they might be eaten by * get_keystroke() */ out_flush(); diff --git a/src/version.c b/src/version.c index bb3581c0b..2d91a7259 100644 --- a/src/version.c +++ b/src/version.c @@ -765,6 +765,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 611, +/**/ 610, /**/ 609, |