changeset 16670:5733d8e33bce v8.1.1337

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 <Bram@vim.org> 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.
author Bram Moolenaar <Bram@vim.org>
date Fri, 17 May 2019 11:15:06 +0200
parents e4bdd8a2b0c2
children 10cee1b8fcb3
files src/testdir/test_textprop.vim src/textprop.c src/version.c
diffstat 3 files changed, 8 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- 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\<CR>\<Esc>"
   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()
 
--- 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;
--- 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,