patch 8.1.0678: text properties as not adjusted for inserted text

Problem:    Text properties as not adjusted for inserted text.
Solution:   Adjust text properties when inserting text.
diff --git a/src/testdir/dumps/Test_textprop_01.dump b/src/testdir/dumps/Test_textprop_01.dump
index f78c447..98130a7 100644
--- a/src/testdir/dumps/Test_textprop_01.dump
+++ b/src/testdir/dumps/Test_textprop_01.dump
@@ -1,6 +1,6 @@
-| +0#af5f00255#ffffff0@1|1| >O+0#0000000&|n|e| +0&#ffff4012|t|w|o| +0&#ffffff0@63
+| +0#af5f00255#ffffff0@1|1| |O+0#0000000&|n|e| +0&#ffff4012|t|w|o| +0&#ffffff0@63
 | +0#af5f00255&@1|2| |N+0#0000000#ffff4012|u|m|b|é|r| |1+0#4040ff13&|2|3| +0#0000000&|ä|n|d| |t|h|œ|n| |4+0#4040ff13&|¾|7|.+0#0000000&| +0&#ffffff0@46
-| +0#af5f00255&@1|3| |T+0#0000000#ffff4012|h|r+0&#ffffff0|e@1| @65
+| +0#af5f00255&@1|3| |-+0#0000000#ffff4012@1|x+0&#ffffff0|a+0#4040ff13&@1|x+0#0000000&|-@1|x+0#4040ff13&|b@1|x+0#0000000&|-@1|x|c+0#4040ff13&@1|x|-+0#0000000&@1|x+0#4040ff13&|d@1>x|-+0#0000000&@1| @44
 |~+0#4040ff13&| @73
 |~| @73
-| +0#0000000&@56|1|,|1| @10|A|l@1| 
+| +0#0000000&@56|3|,|2|4| @9|A|l@1| 
diff --git a/src/testdir/test_textprop.vim b/src/testdir/test_textprop.vim
index fdf6045..d810dfc 100644
--- a/src/testdir/test_textprop.vim
+++ b/src/testdir/test_textprop.vim
@@ -300,17 +300,25 @@
     return
   endif
   call writefile([
-	\ "call setline(1, ['One two', 'Numbér 123 änd thœn 4¾7.', 'Three'])",
+	\ "call setline(1, ['One two', 'Numbér 123 änd thœn 4¾7.', '--aa--bb--cc--dd--'])",
 	\ "hi NumberProp ctermfg=blue",
 	\ "hi LongProp ctermbg=yellow",
 	\ "call prop_type_add('number', {'highlight': 'NumberProp'})",
 	\ "call prop_type_add('long', {'highlight': 'LongProp'})",
+	\ "call prop_type_add('start', {'highlight': 'NumberProp', 'start_incl': 1})",
+	\ "call prop_type_add('end', {'highlight': 'NumberProp', 'end_incl': 1})",
+	\ "call prop_type_add('both', {'highlight': 'NumberProp', 'start_incl': 1, 'end_incl': 1})",
 	\ "call prop_add(1, 4, {'end_lnum': 3, 'end_col': 3, 'type': 'long'})",
 	\ "call prop_add(2, 9, {'length': 3, 'type': 'number'})",
 	\ "call prop_add(2, 24, {'length': 4, 'type': 'number'})",
+	\ "call prop_add(3, 3, {'length': 2, 'type': 'number'})",
+	\ "call prop_add(3, 7, {'length': 2, 'type': 'start'})",
+	\ "call prop_add(3, 11, {'length': 2, 'type': 'end'})",
+	\ "call prop_add(3, 15, {'length': 2, 'type': 'both'})",
 	\ "set number",
 	\ "hi clear SpellBad",
 	\ "set spell",
+	\ "normal 3G0llix\<Esc>lllix\<Esc>lllix\<Esc>lllix\<Esc>lllix\<Esc>lllix\<Esc>lllix\<Esc>lllix\<Esc>",
 	\], 'XtestProp')
   let buf = RunVimInTerminal('-S XtestProp', {'rows': 6})
   call VerifyScreenDump(buf, 'Test_textprop_01', {})