Problem: Text cleared by checking terminal properties not redrawn. (Alexey
Radkov)
Solution: Mark the screen characters as invalid. (closes #6422)
void screenalloc(int doclear);
void free_screenlines(void);
void screenclear(void);
+void line_was_clobbered(int screen_lnum);
int can_clear(char_u *p);
void screen_start(void);
void windgoto(int row, int col);
(void)vim_memset(ScreenAttrs + off, -1, (size_t)width * sizeof(sattr_T));
}
+/*
+ * To be called when characters were sent to the terminal directly, outputting
+ * test on "screen_lnum".
+ */
+ void
+line_was_clobbered(int screen_lnum)
+{
+ lineinvalid(LineOffset[screen_lnum], (int)Columns);
+}
+
/*
* Copy part of a Screenline for vertically split window "wp".
*/
screen_stop_highlight();
term_windgoto(1, 0);
out_str((char_u *)" ");
+ line_was_clobbered(1);
}
if (xcc_status.tr_progress == STATUS_GET)
screen_stop_highlight();
term_windgoto(2, 0);
out_str((char_u *)" ");
+ line_was_clobbered(2);
}
if (did_send)
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 1164,
/**/
1163,
/**/