patch 8.2.4988: textprop in wrong position when replacing multi-byte chars
Problem: Textprop in wrong position when replacing multi-byte chars.
Solution: Adjust textprop position. (closes #10461)
diff --git a/src/change.c b/src/change.c
index 47411ca..2d01f92 100644
--- a/src/change.c
+++ b/src/change.c
@@ -1118,7 +1118,12 @@
ml_replace(lnum, newp, FALSE);
// mark the buffer as changed and prepare for displaying
- inserted_bytes(lnum, col, newlen - oldlen);
+ changed_bytes(lnum, col);
+#ifdef FEAT_PROP_POPUP
+ if (curbuf->b_has_textprop && newlen != oldlen)
+ adjust_prop_columns(lnum, col, newlen - oldlen,
+ State & REPLACE_FLAG ? APC_SUBSTITUTE : 0);
+#endif
// If we're in Insert or Replace mode and 'showmatch' is set, then briefly
// show the match for right parens and braces.