patch 8.2.2644: prop_clear() causes a screen update even when nothing changed
Problem: prop_clear() causes a screen update even when nothing changed.
Solution: Only redraw when a property was cleared. (Dominique Pellé)
diff --git a/src/textprop.c b/src/textprop.c
index d678234..59b3d53 100644
--- a/src/textprop.c
+++ b/src/textprop.c
@@ -535,6 +535,7 @@
linenr_T end = start;
linenr_T lnum;
buf_T *buf = curbuf;
+ int did_clear = FALSE;
if (argvars[1].v_type != VAR_UNKNOWN)
{
@@ -562,6 +563,7 @@
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);
@@ -575,7 +577,8 @@
buf->b_ml.ml_line_len = (int)len;
}
}
- redraw_buf_later(buf, NOT_VALID);
+ if (did_clear)
+ redraw_buf_later(buf, NOT_VALID);
}
/*