# HG changeset patch # User Bram Moolenaar # Date 1558084506 -7200 # Node ID 5733d8e33bce39f498143f923a370874ec78ee7d # Parent e4bdd8a2b0c22e062c2247148f44adbbcb907891 patch 8.1.1337: get empty text prop when splitting line just after text prop commit https://github.com/vim/vim/commit/5c65e6a062dfc7d20931fa1f73d03b1714a4d5e1 Author: Bram Moolenaar Date: Fri May 17 11:08:56 2019 +0200 patch 8.1.1337: get empty text prop when splitting line just after text prop Problem: Get empty text prop when splitting line just after text prop. Solution: Do not create an empty text prop at the start of the line. diff --git a/src/testdir/test_textprop.vim b/src/testdir/test_textprop.vim --- a/src/testdir/test_textprop.vim +++ b/src/testdir/test_textprop.vim @@ -316,16 +316,15 @@ func Test_prop_open_line() call assert_equal(expected, prop_list(2)) call DeletePropTypes() - " split just after first prop, empty prop and second prop move to next line + " split just after first prop, second prop move to next line let expected = SetupOneLine() " 'xonex xtwoxx' exe "normal 0fea\\" call assert_equal('xone', getline(1)) call assert_equal('x xtwoxx', getline(2)) let exp_first = expected[0:0] call assert_equal(exp_first, prop_list(1)) - let expected[0].col = 1 - let expected[0].length = 0 - let expected[1].col -= 4 + let expected = expected[1:1] + let expected[0].col -= 4 call assert_equal(expected, prop_list(2)) call DeletePropTypes() diff --git a/src/textprop.c b/src/textprop.c --- a/src/textprop.c +++ b/src/textprop.c @@ -1075,7 +1075,9 @@ adjust_props_for_split( ++prevprop.ga_len; } - if (prop.tp_col + prop.tp_len >= skipped && ga_grow(&nextprop, 1) == OK) + // Only add the property to the next line if the length is bigger than + // zero. + if (prop.tp_col + prop.tp_len > skipped && ga_grow(&nextprop, 1) == OK) { p = ((textprop_T *)nextprop.ga_data) + nextprop.ga_len; *p = prop; diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -768,6 +768,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1337, +/**/ 1336, /**/ 1335,