patch 8.2.3372: line2byte() value wrong when adding a text property
Problem: line2byte() value wrong when adding a text property. (Yuto Kimura)
Solution: Adjust length for text property. (closes #8772) Also fix it for
deleting a line.
diff --git a/src/memline.c b/src/memline.c
index 5aeee90..2192036 100644
--- a/src/memline.c
+++ b/src/memline.c
@@ -3251,9 +3251,15 @@
}
#ifdef FEAT_BYTEOFF
+# ifdef FEAT_PROP_POPUP
+ if (curbuf->b_has_textprop)
+ // only use the space needed for the text, ignore properties
+ len = (colnr_T)STRLEN(line) + 1;
+# endif
// The line was inserted below 'lnum'
ml_updatechunk(buf, lnum + 1, (long)len, ML_CHNK_ADDLINE);
#endif
+
#ifdef FEAT_NETBEANS_INTG
if (netbeans_active())
{
@@ -3752,7 +3758,11 @@
}
#ifdef FEAT_BYTEOFF
- ml_updatechunk(buf, lnum, line_size, ML_CHNK_DELLINE);
+ ml_updatechunk(buf, lnum, line_size
+# ifdef FEAT_PROP_POPUP
+ - textprop_save_len
+# endif
+ , ML_CHNK_DELLINE);
#endif
ret = OK;