1
0
forked from aniani/vim

patch 8.1.1333: text properties don't always move after changes

Problem:    Text properties don't always move after changes.
Solution:   Update properties before reporting changes to listeners. Move text
            property when splitting a line.
This commit is contained in:
Bram Moolenaar
2019-05-15 22:45:37 +02:00
parent fe1ade0a78
commit 45dd07f10a
6 changed files with 92 additions and 21 deletions

View File

@@ -641,12 +641,12 @@ changed_bytes(linenr_T lnum, colnr_T col)
void
inserted_bytes(linenr_T lnum, colnr_T col, int added UNUSED)
{
changed_bytes(lnum, col);
#ifdef FEAT_TEXT_PROP
if (curbuf->b_has_textprop && added != 0)
adjust_prop_columns(lnum, col, added);
#endif
changed_bytes(lnum, col);
}
/*
@@ -2133,6 +2133,12 @@ open_line(
)
mark_adjust(curwin->w_cursor.lnum + 1, (linenr_T)MAXLNUM, 1L, 0L);
did_append = TRUE;
#ifdef FEAT_TEXT_PROP
if ((State & INSERT) && !(State & VREPLACE_FLAG))
// properties after the split move to the next line
adjust_props_for_split(curwin->w_cursor.lnum, curwin->w_cursor.lnum,
curwin->w_cursor.col + 1, 0);
#endif
}
else
{