patch 8.2.1714: text properties corrupted with substitute command
Problem: Text properties corrupted with substitute command. (Filipe
Brandenburger)
Solution: Get the changed line again after using u_savesub(). (closes #6984)
diff --git a/src/textprop.c b/src/textprop.c
index 639c5df..bca0d9e 100644
--- a/src/textprop.c
+++ b/src/textprop.c
@@ -1349,6 +1349,10 @@
&& u_savesub(lnum) == FAIL)
return FALSE;
dirty = TRUE;
+
+ // u_savesub() may have updated curbuf->b_ml, fetch it again
+ if (curbuf->b_ml.ml_line_lnum != lnum)
+ proplen = get_text_props(curbuf, lnum, &props, TRUE);
}
if (res.can_drop)
continue; // Drop this text property