patch 8.1.2279: computation of highlight attributes is too complicated
Problem: Computation of highlight attributes is too complicated.
Solution: Simplify the attribute computation and make it more consistent.
(closes #5190) Fix that 'combine' set to zero doesn't work.
diff --git a/src/testdir/test_textprop.vim b/src/testdir/test_textprop.vim
index b09e1a7..002933d 100644
--- a/src/testdir/test_textprop.vim
+++ b/src/testdir/test_textprop.vim
@@ -678,8 +678,9 @@
\ "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_type_add('background', {'highlight': 'NumberProp', 'combine': 1})",
- \ "eval 'background'->prop_type_change({'highlight': 'BackgroundProp'})",
+ \ "call prop_type_add('background', {'highlight': 'BackgroundProp', 'combine': 0})",
+ \ "call prop_type_add('backgroundcomb', {'highlight': 'NumberProp', 'combine': 1})",
+ \ "eval 'backgroundcomb'->prop_type_change({'highlight': 'BackgroundProp'})",
\ "call prop_type_add('error', {'highlight': 'UnderlineProp', 'combine': 1})",
\ "call prop_add(1, 4, {'end_lnum': 3, 'end_col': 3, 'type': 'long'})",
\ "call prop_add(2, 9, {'length': 3, 'type': 'number'})",
@@ -688,7 +689,8 @@
\ "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'})",
- \ "call prop_add(4, 12, {'length': 10, 'type': 'background'})",
+ \ "call prop_add(4, 6, {'length': 3, 'type': 'background'})",
+ \ "call prop_add(4, 12, {'length': 10, 'type': 'backgroundcomb'})",
\ "call prop_add(4, 17, {'length': 5, 'type': 'error'})",
\ "call prop_add(5, 7, {'length': 4, 'type': 'long'})",
\ "call prop_add(6, 1, {'length': 8, 'type': 'long'})",