mirror of
https://github.com/vim/vim.git
synced 2025-09-30 04:44:14 -04:00
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.
This commit is contained in:
@@ -783,6 +783,11 @@ vim_main2(void)
|
|||||||
if (params.n_commands > 0)
|
if (params.n_commands > 0)
|
||||||
exe_commands(¶ms);
|
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;
|
RedrawingDisabled = 0;
|
||||||
redraw_all_later(NOT_VALID);
|
redraw_all_later(NOT_VALID);
|
||||||
no_wait_return = FALSE;
|
no_wait_return = FALSE;
|
||||||
@@ -796,9 +801,6 @@ vim_main2(void)
|
|||||||
* argument doesn't make it appear in the shell Vim was started from. */
|
* argument doesn't make it appear in the shell Vim was started from. */
|
||||||
may_req_termresponse();
|
may_req_termresponse();
|
||||||
|
|
||||||
# if defined(FEAT_MBYTE)
|
|
||||||
may_req_ambiguous_char_width();
|
|
||||||
# endif
|
|
||||||
may_req_bg_color();
|
may_req_bg_color();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -3333,9 +3333,13 @@ may_req_ambiguous_char_width(void)
|
|||||||
out_str(T_U7);
|
out_str(T_U7);
|
||||||
u7_status = U7_SENT;
|
u7_status = U7_SENT;
|
||||||
out_flush();
|
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);
|
term_windgoto(1, 0);
|
||||||
out_str((char_u *)" ");
|
out_str((char_u *)" ");
|
||||||
term_windgoto(0, 0);
|
term_windgoto(0, 0);
|
||||||
|
|
||||||
/* check for the characters now, otherwise they might be eaten by
|
/* check for the characters now, otherwise they might be eaten by
|
||||||
* get_keystroke() */
|
* get_keystroke() */
|
||||||
out_flush();
|
out_flush();
|
||||||
|
@@ -764,6 +764,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
611,
|
||||||
/**/
|
/**/
|
||||||
610,
|
610,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user