Permalink
Browse files

patch 8.0.0611: the screen is not redrawn after sending t_u7

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.
  • Loading branch information...
brammool committed Jun 4, 2017
1 parent 4b974d5 commit 976787d1f31451ca7a88e774a03e6c24ddc67876
Showing with 11 additions and 3 deletions.
  1. +5 −3 src/main.c
  2. +4 −0 src/term.c
  3. +2 −0 src/version.c
View
@@ -783,6 +783,11 @@ vim_main2(void)
if (params.n_commands > 0)
exe_commands(&params);
#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
View
@@ -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();
View
@@ -764,6 +764,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
611,
/**/
610,
/**/

0 comments on commit 976787d

Please sign in to comment.