Problem: prop_clear() causes a screen update even when nothing changed.
Solution: Only redraw when a property was cleared. (Dominique Pellé)
linenr_T end = start;
linenr_T lnum;
buf_T *buf = curbuf;
+ int did_clear = FALSE;
if (argvars[1].v_type != VAR_UNKNOWN)
{
len = STRLEN(text) + 1;
if ((size_t)buf->b_ml.ml_line_len > len)
{
+ did_clear = TRUE;
if (!(buf->b_ml.ml_flags & ML_LINE_DIRTY))
{
char_u *newtext = vim_strsave(text);
buf->b_ml.ml_line_len = (int)len;
}
}
- redraw_buf_later(buf, NOT_VALID);
+ if (did_clear)
+ redraw_buf_later(buf, NOT_VALID);
}
/*
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 2644,
/**/
2643,
/**/