changeset 11455:08e60ce4cbf3 v8.0.0611

patch 8.0.0611: the screen is not redrawn after sending t_u7 commit https://github.com/vim/vim/commit/976787d1f31451ca7a88e774a03e6c24ddc67876 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Jun 4 15:45:50 2017 +0200 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.
author Christian Brabandt <cb@256bit.org>
date Sun, 04 Jun 2017 16:00:03 +0200
parents 5e21f2c77442
children 48ead0fc0368
files src/main.c src/term.c src/version.c
diffstat 3 files changed, 11 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/main.c
+++ b/src/main.c
@@ -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
 
--- 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();
--- 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,