changeset 25517:b04e76e66128 v8.2.3295

patch 8.2.3295: 'cursorline' should not apply to 'breakindent' Commit: https://github.com/vim/vim/commit/4f33bc20d7d5444e44d13f954e8219ad1abd26ef Author: zeertzjq <zeertzjq@outlook.com> Date: Thu Aug 5 17:57:02 2021 +0200 patch 8.2.3295: 'cursorline' should not apply to 'breakindent' Problem: 'cursorline' should not apply to 'breakindent'. Solution: Make 'cursorline' apply to 'breakindent' and 'showbreak' consistently. (closes #8684)
author Bram Moolenaar <Bram@vim.org>
date Thu, 05 Aug 2021 18:00:05 +0200
parents 3abc660b43f4
children f0de0b105458
files src/drawline.c src/testdir/dumps/Test_Xcursorline_19.dump src/testdir/dumps/Test_Xcursorline_20.dump src/testdir/dumps/Test_Xcursorline_21.dump src/testdir/dumps/Test_Xcursorline_22.dump src/testdir/dumps/Test_Xcursorline_23.dump src/testdir/dumps/Test_Xcursorline_24.dump src/testdir/dumps/Test_diff_with_cul_bri_01.dump src/testdir/dumps/Test_diff_with_cul_bri_02.dump src/testdir/dumps/Test_diff_with_cul_bri_03.dump src/testdir/dumps/Test_diff_with_cul_bri_04.dump src/testdir/test_cursorline.vim src/testdir/test_diffmode.vim src/version.c
diffstat 14 files changed, 268 insertions(+), 19 deletions(-) [+]
line wrap: on
line diff
--- a/src/drawline.c
+++ b/src/drawline.c
@@ -1005,6 +1005,14 @@ win_line(
 	// Skip this quickly when working on the text.
 	if (draw_state != WL_LINE)
 	{
+#ifdef FEAT_SYN_HL
+	    if (cul_screenline)
+	    {
+		cul_attr = 0;
+		line_attr = line_attr_save;
+	    }
+#endif
+
 #ifdef FEAT_CMDWIN
 	    if (draw_state == WL_CMDLINE - 1 && n_extra == 0)
 	    {
@@ -1194,13 +1202,7 @@ win_line(
 		    char_attr = 0;
 # ifdef FEAT_DIFF
 		    if (diff_hlf != (hlf_T)0)
-		    {
 			char_attr = HL_ATTR(diff_hlf);
-#  ifdef FEAT_SYN_HL
-			if (cul_attr != 0)
-			    char_attr = hl_combine_attr(char_attr, cul_attr);
-#  endif
-		    }
 # endif
 		    p_extra = NULL;
 		    c_extra = ' ';
@@ -1297,20 +1299,12 @@ win_line(
 	    }
 	}
 #ifdef FEAT_SYN_HL
-	if (cul_screenline)
+	if (cul_screenline && draw_state == WL_LINE
+		&& vcol >= left_curline_col
+		&& vcol < right_curline_col)
 	{
-	    if (draw_state == WL_LINE
-		    && vcol >= left_curline_col
-		    && vcol < right_curline_col)
-	    {
-		cul_attr = HL_ATTR(HLF_CUL);
-		line_attr = cul_attr;
-	    }
-	    else
-	    {
-		cul_attr = 0;
-		line_attr = line_attr_save;
-	    }
+	    cul_attr = HL_ATTR(HLF_CUL);
+	    line_attr = cul_attr;
 	}
 #endif
 
new file mode 100644
--- /dev/null
+++ b/src/testdir/dumps/Test_Xcursorline_19.dump
@@ -0,0 +1,20 @@
+>1+8&#ffffff0|-+8#0000e05&|f+8#0000000&|o@7|-+8#0000e05&|a+8#0000000&|r|-+8#0000e05&|e+8#0000000&|i|n|s|<+8#0000e05&|2|0@1|d|>||+1#0000000&| +0#af5f00255&@1|5| | +8#0000000&@44
+|>+0#4040ff13&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h||+1&&|~+0#4040ff13&| @47
+|>|s+0#0000000&|-+0#0000e05&|s+0#0000000&|i|e|b|e|n|-+0#0000e05&|a+0#0000000&|c|h|t|-+0#0000e05&|u+0#0000000&|n|-+0#0000e05&|z+0#0000000&|e|h|n|-+0#0000e05&|e+0#0000000&|l||+1&&|~+0#4040ff13&| @47
+|>|f+0#0000000&|-+0#0000e05&|z+0#0000000&|w|ö|f|l|-+0#0000e05&|d+0#0000000&|r|e|i|z|e|h|n|^+0#0000e05&|I|v+0#0000000&|-+0#0000e05&|i+0#0000000&|e|r|z||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|h|n|^+0#0000e05&|I|f+0#0000000&|ü|n|f|z|e|h|n| @10||+1&&|~+0#4040ff13&| @47
+|2+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&|z+0#0000000&|w|e|i||+1&&|~+0#4040ff13&| @47
+|>|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|b|e|n| @19||+1&&|~+0#4040ff13&| @47
+|3+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&|z+0#0000000&|w|e|i||+1&&|~+0#4040ff13&| @47
+|>|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|b|e|n| @19||+1&&|~+0#4040ff13&| @47
+|4+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&|z+0#0000000&|w|e|i||+1&&|~+0#4040ff13&| @47
+|>|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|b|e|n| @19||+1&&|~+0#4040ff13&| @47
+| +0#0000000&@24||+1&&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|<+3#0000000&|o| |N|a|m|e|]| |[|+|]| |1|,|1| @5|A|l@1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @17|5|,|0|-|1| @9|B|o|t
+|:+0&&|s|e|t| |n|o|n|u|m|b|e|r| @61
new file mode 100644
--- /dev/null
+++ b/src/testdir/dumps/Test_Xcursorline_20.dump
@@ -0,0 +1,20 @@
+|1+0&#ffffff0|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|a+0#0000000&|r|-+0#0000e05&|e+0#0000000&|i|n|s|<+0#0000e05&|2|0@1|d|>||+1#0000000&| +0#af5f00255&@1|5| | +8#0000000&@44
+|>+0#4040ff13&|z+8#0000000&|w|e|i|-+8#0000e05&|d+8#0000000&|r|e|i|-+8#0000e05&|v+8#0000000&>i|e|r|-+8#0000e05&|f+8#0000000&|ü|n|f|-+8#0000e05&|s+8#0000000&|e|c|h||+1&&|~+0#4040ff13&| @47
+|>|s+0#0000000&|-+0#0000e05&|s+0#0000000&|i|e|b|e|n|-+0#0000e05&|a+0#0000000&|c|h|t|-+0#0000e05&|u+0#0000000&|n|-+0#0000e05&|z+0#0000000&|e|h|n|-+0#0000e05&|e+0#0000000&|l||+1&&|~+0#4040ff13&| @47
+|>|f+0#0000000&|-+0#0000e05&|z+0#0000000&|w|ö|f|l|-+0#0000e05&|d+0#0000000&|r|e|i|z|e|h|n|^+0#0000e05&|I|v+0#0000000&|-+0#0000e05&|i+0#0000000&|e|r|z||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|h|n|^+0#0000e05&|I|f+0#0000000&|ü|n|f|z|e|h|n| @10||+1&&|~+0#4040ff13&| @47
+|2+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&|z+0#0000000&|w|e|i||+1&&|~+0#4040ff13&| @47
+|>|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|b|e|n| @19||+1&&|~+0#4040ff13&| @47
+|3+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&|z+0#0000000&|w|e|i||+1&&|~+0#4040ff13&| @47
+|>|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|b|e|n| @19||+1&&|~+0#4040ff13&| @47
+|4+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&|z+0#0000000&|w|e|i||+1&&|~+0#4040ff13&| @47
+|>|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|b|e|n| @19||+1&&|~+0#4040ff13&| @47
+| +0#0000000&@24||+1&&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|<+3#0000000&|o| |N|a|m|e|]| |[|+|]| |1|,|3|4|-|3|8| @1|A|l@1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @17|5|,|0|-|1| @9|B|o|t
+|:+0&&|s|e|t| |n|o|n|u|m|b|e|r| @61
new file mode 100644
--- /dev/null
+++ b/src/testdir/dumps/Test_Xcursorline_21.dump
@@ -0,0 +1,20 @@
+|1+0&#ffffff0|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|a+0#0000000&|r|-+0#0000e05&|e+0#0000000&|i|n|s|<+0#0000e05&|2|0@1|d|>||+1#0000000&| +0#af5f00255&@1|5| | +8#0000000&@44
+|>+0#4040ff13&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h||+1&&|~+0#4040ff13&| @47
+|>|s+8#0000000&|-+8#0000e05&|s+8#0000000&|i|e|b|e|n|-+8#0000e05&|a+8#0000000&|c>h|t|-+8#0000e05&|u+8#0000000&|n|-+8#0000e05&|z+8#0000000&|e|h|n|-+8#0000e05&|e+8#0000000&|l||+1&&|~+0#4040ff13&| @47
+|>|f+0#0000000&|-+0#0000e05&|z+0#0000000&|w|ö|f|l|-+0#0000e05&|d+0#0000000&|r|e|i|z|e|h|n|^+0#0000e05&|I|v+0#0000000&|-+0#0000e05&|i+0#0000000&|e|r|z||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|h|n|^+0#0000e05&|I|f+0#0000000&|ü|n|f|z|e|h|n| @10||+1&&|~+0#4040ff13&| @47
+|2+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&|z+0#0000000&|w|e|i||+1&&|~+0#4040ff13&| @47
+|>|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|b|e|n| @19||+1&&|~+0#4040ff13&| @47
+|3+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&|z+0#0000000&|w|e|i||+1&&|~+0#4040ff13&| @47
+|>|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|b|e|n| @19||+1&&|~+0#4040ff13&| @47
+|4+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&|z+0#0000000&|w|e|i||+1&&|~+0#4040ff13&| @47
+|>|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|b|e|n| @19||+1&&|~+0#4040ff13&| @47
+| +0#0000000&@24||+1&&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|<+3#0000000&|o| |N|a|m|e|]| |[|+|]| |1|,|5|9|-|6|3| @1|A|l@1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @17|5|,|0|-|1| @9|B|o|t
+|:+0&&|s|e|t| |n|o|n|u|m|b|e|r| @61
new file mode 100644
--- /dev/null
+++ b/src/testdir/dumps/Test_Xcursorline_22.dump
@@ -0,0 +1,20 @@
+|1+0&#ffffff0|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|a+0#0000000&|r|-+0#0000e05&|e+0#0000000&|i|n|s|<+0#0000e05&|2|0@1|d|>||+1#0000000&| +0#af5f00255&@1|5| | +8#0000000&@44
+|>+0#4040ff13&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h||+1&&|~+0#4040ff13&| @47
+|>|s+0#0000000&|-+0#0000e05&|s+0#0000000&|i|e|b|e|n|-+0#0000e05&|a+0#0000000&|c|h|t|-+0#0000e05&|u+0#0000000&|n|-+0#0000e05&|z+0#0000000&|e|h|n|-+0#0000e05&|e+0#0000000&|l||+1&&|~+0#4040ff13&| @47
+|>|f+8#0000000&|-+8#0000e05&|z+8#0000000&|w|ö|f|l|-+8#0000e05&|d+8#0000000&|r|e>i|z|e|h|n|^+8#0000e05&|I|v+8#0000000&|-+8#0000e05&|i+8#0000000&|e|r|z||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|h|n|^+0#0000e05&|I|f+0#0000000&|ü|n|f|z|e|h|n| @10||+1&&|~+0#4040ff13&| @47
+|2+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&|z+0#0000000&|w|e|i||+1&&|~+0#4040ff13&| @47
+|>|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|b|e|n| @19||+1&&|~+0#4040ff13&| @47
+|3+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&|z+0#0000000&|w|e|i||+1&&|~+0#4040ff13&| @47
+|>|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|b|e|n| @19||+1&&|~+0#4040ff13&| @47
+|4+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&|z+0#0000000&|w|e|i||+1&&|~+0#4040ff13&| @47
+|>|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|b|e|n| @19||+1&&|~+0#4040ff13&| @47
+| +0#0000000&@24||+1&&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|<+3#0000000&|o| |N|a|m|e|]| |[|+|]| |1|,|8|4|-|8@1| @1|A|l@1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @17|5|,|0|-|1| @9|B|o|t
+|:+0&&|s|e|t| |n|o|n|u|m|b|e|r| @61
new file mode 100644
--- /dev/null
+++ b/src/testdir/dumps/Test_Xcursorline_23.dump
@@ -0,0 +1,20 @@
+|1+0&#ffffff0|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|a+0#0000000&|r|-+0#0000e05&|e+0#0000000&|i|n|s|<+0#0000e05&|2|0@1|d|>||+1#0000000&| +0#af5f00255&@1|5| | +8#0000000&@44
+|>+0#4040ff13&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h||+1&&|~+0#4040ff13&| @47
+|>|s+0#0000000&|-+0#0000e05&|s+0#0000000&|i|e|b|e|n|-+0#0000e05&|a+0#0000000&|c|h|t|-+0#0000e05&|u+0#0000000&|n|-+0#0000e05&|z+0#0000000&|e|h|n|-+0#0000e05&|e+0#0000000&|l||+1&&|~+0#4040ff13&| @47
+|>|f+0#0000000&|-+0#0000e05&|z+0#0000000&|w|ö|f|l|-+0#0000e05&|d+0#0000000&|r|e|i|z|e|h|n|^+0#0000e05&|I|v+0#0000000&|-+0#0000e05&|i+0#0000000&|e|r|z||+1&&|~+0#4040ff13&| @47
+|>|e+8#0000000&|h|n|^+8#0000e05&|I|f+8#0000000&|ü|n|f|z|e>h|n| @10||+1&&|~+0#4040ff13&| @47
+|2+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&|z+0#0000000&|w|e|i||+1&&|~+0#4040ff13&| @47
+|>|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|b|e|n| @19||+1&&|~+0#4040ff13&| @47
+|3+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&|z+0#0000000&|w|e|i||+1&&|~+0#4040ff13&| @47
+|>|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|b|e|n| @19||+1&&|~+0#4040ff13&| @47
+|4+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&|z+0#0000000&|w|e|i||+1&&|~+0#4040ff13&| @47
+|>|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|b|e|n| @19||+1&&|~+0#4040ff13&| @47
+| +0#0000000&@24||+1&&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|<+3#0000000&|o| |N|a|m|e|]| |[|+|]| |1|,|1|0|7|-|1@1|9| @3|[+1&&|N|o| |N|a|m|e|]| |[|+|]| @17|5|,|0|-|1| @9|B|o|t
+|:+0&&|s|e|t| |n|o|n|u|m|b|e|r| @61
new file mode 100644
--- /dev/null
+++ b/src/testdir/dumps/Test_Xcursorline_24.dump
@@ -0,0 +1,20 @@
+|1+0&#ffffff0|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|a+0#0000000&|r|-+0#0000e05&|e+0#0000000&|i|n|s|<+0#0000e05&|2|0@1|d|>||+1#0000000&| +0#af5f00255&@1|5| | +8#0000000&@44
+|>+0#4040ff13&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h||+1&&|~+0#4040ff13&| @47
+|>|s+0#0000000&|-+0#0000e05&|s+0#0000000&|i|e|b|e|n|-+0#0000e05&|a+0#0000000&|c|h|t|-+0#0000e05&|u+0#0000000&|n|-+0#0000e05&|z+0#0000000&|e|h|n|-+0#0000e05&|e+0#0000000&|l||+1&&|~+0#4040ff13&| @47
+|>|f+0#0000000&|-+0#0000e05&|z+0#0000000&|w|ö|f|l|-+0#0000e05&|d+0#0000000&|r|e|i|z|e|h|n|^+0#0000e05&|I|v+0#0000000&|-+0#0000e05&|i+0#0000000&|e|r|z||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|h|n|^+0#0000e05&|I|f+0#0000000&|ü|n|f|z|e|h|n| @10||+1&&|~+0#4040ff13&| @47
+|2+8#0000000&|-+8#0000e05&|f+8#0000000&|o@7|-+8#0000e05&>b+8#0000000&|a|r|-+8#0000e05&|e+8#0000000&|i|n|s|-+8#0000e05&|z+8#0000000&|w|e|i||+1&&|~+0#4040ff13&| @47
+|>|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|b|e|n| @19||+1&&|~+0#4040ff13&| @47
+|3+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&|z+0#0000000&|w|e|i||+1&&|~+0#4040ff13&| @47
+|>|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|b|e|n| @19||+1&&|~+0#4040ff13&| @47
+|4+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&|z+0#0000000&|w|e|i||+1&&|~+0#4040ff13&| @47
+|>|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|b|e|n| @19||+1&&|~+0#4040ff13&| @47
+| +0#0000000&@24||+1&&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|<+3#0000000&|o| |N|a|m|e|]| |[|+|]| |2|,|1|3| @4|A|l@1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @17|5|,|0|-|1| @9|B|o|t
+|:+0&&|s|e|t| |n|o|n|u|m|b|e|r| @61
new file mode 100644
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_with_cul_bri_01.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1| +8#ffffff16#ff404010@1|b+10&&|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1> +8#ffffff16#ff404010@1|f+10&&|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +8#ffffff16#ff404010@21
+| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|b+10#ffffff16&|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|o+10#ffffff16&|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f||+1#0000000#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|b+10#ffffff16&|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1| +8&&@2||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|o+10#ffffff16&@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1#0000000#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|o|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1| @2||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|o|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1| @2||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|b|a|z+2&#ff404010|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|b|a|r+2&#ff404010|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z| +0&#ffd7ff255@2||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r||+1&#ffffff0|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|<+1#0000000&|o| |N|a|m|e|]| |[|+|]| |1|,|1| @5|A|l@1| |<+3&&| |N|a|m|e|]| |[|+|]| |1|,|1| @5|A|l@1| |[+1&&|N|o| |N|a|m|e|]| @2|0|,|0|-|1| @3|A|l@1
+| +0&&@74
new file mode 100644
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_with_cul_bri_02.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|b+2&#ff404010|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f+2&#ff404010|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +8#ffffff16#ff404010@21
+| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|o|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1| +0&#ffd7ff255@2||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +8#ffffff16#ff404010@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1> +8#ffffff16#ff404010@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o||+1#0000000#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f+8#ffffff16#ff404010|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|o+8#ffffff16#ff404010|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f||+1#0000000#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f+8#ffffff16#ff404010|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1| @2||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|o+8#ffffff16#ff404010@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1#0000000#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|o|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1| @2||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|b|a|z+2&#ff404010|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|b|a|r+2&#ff404010|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z| +0&#ffd7ff255@2||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r||+1&#ffffff0|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|<+1#0000000&|o| |N|a|m|e|]| |[|+|]| |2|,|1| @5|A|l@1| |<+3&&| |N|a|m|e|]| |[|+|]| |2|,|1| @5|A|l@1| |[+1&&|N|o| |N|a|m|e|]| @2|0|,|0|-|1| @3|A|l@1
+| +0&&@74
new file mode 100644
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_with_cul_bri_03.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|b+2&#ff404010|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f+2&#ff404010|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +8#ffffff16#ff404010@21
+| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|o|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1| +0&#ffd7ff255@2||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|o|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1| @2||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +8#ffffff16#ff404010@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1> +8#ffffff16#ff404010@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o||+1#0000000#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f+8#ffffff16#ff404010|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|o+8#ffffff16#ff404010|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f||+1#0000000#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f+8#ffffff16#ff404010|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1| @2||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|o+8#ffffff16#ff404010@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1#0000000#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|b|a|z+2&#ff404010|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|b|a|r+2&#ff404010|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z| +0&#ffd7ff255@2||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r||+1&#ffffff0|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|<+1#0000000&|o| |N|a|m|e|]| |[|+|]| |3|,|1| @5|A|l@1| |<+3&&| |N|a|m|e|]| |[|+|]| |3|,|1| @5|A|l@1| |[+1&&|N|o| |N|a|m|e|]| @2|0|,|0|-|1| @3|A|l@1
+| +0&&@74
new file mode 100644
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_with_cul_bri_04.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|b+2&#ff404010|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f+2&#ff404010|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +8#ffffff16#ff404010@21
+| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|o|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1| +0&#ffd7ff255@2||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|o|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1| @2||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|o|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1| @2||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +8#ffffff16#ff404010@1|b|a|z+10&&|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1> +8#ffffff16#ff404010@1|b|a|r+10&&|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a||+1#0000000#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|b+10#ffffff16&|a|z|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|r+10#ffffff16&|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b||+1#0000000#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|b+10#ffffff16&|a|z|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z| +8&&@2||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|a+10#ffffff16&|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r||+1#0000000#ffffff0|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|<+1#0000000&|o| |N|a|m|e|]| |[|+|]| |4|,|1| @5|A|l@1| |<+3&&| |N|a|m|e|]| |[|+|]| |4|,|1| @5|A|l@1| |[+1&&|N|o| |N|a|m|e|]| @2|0|,|0|-|1| @3|A|l@1
+| +0&&@74
--- a/src/testdir/test_cursorline.vim
+++ b/src/testdir/test_cursorline.vim
@@ -192,7 +192,29 @@ func Test_cursorline_screenline()
     call term_sendkeys(buf, "gj")
     call TermWait(buf)
     call VerifyScreenDump(buf, 'Test_'. filename. '_18', {})
+    call term_sendkeys(buf, ":set breakindent& foldcolumn& signcolumn&\<cr>")
   endif
+  " showbreak should not be highlighted with CursorLine when 'number' is off
+  call term_sendkeys(buf, "gg0")
+  call term_sendkeys(buf, ":set list cursorlineopt=screenline listchars=space:-\<cr>")
+  call term_sendkeys(buf, ":set nonumber\<cr>")
+  call VerifyScreenDump(buf, 'Test_'. filename. '_19', {})
+  call term_sendkeys(buf, "fagj")
+  call TermWait(buf)
+  call VerifyScreenDump(buf, 'Test_'. filename. '_20', {})
+  call term_sendkeys(buf, "gj")
+  call TermWait(buf)
+  call VerifyScreenDump(buf, 'Test_'. filename. '_21', {})
+  call term_sendkeys(buf, "gj")
+  call TermWait(buf)
+  call VerifyScreenDump(buf, 'Test_'. filename. '_22', {})
+  call term_sendkeys(buf, "gj")
+  call TermWait(buf)
+  call VerifyScreenDump(buf, 'Test_'. filename. '_23', {})
+  call term_sendkeys(buf, "gj")
+  call TermWait(buf)
+  call VerifyScreenDump(buf, 'Test_'. filename. '_24', {})
+  call term_sendkeys(buf, ":set list& cursorlineopt& listchars&\<cr>")
 
   call StopVimInTerminal(buf)
   call delete(filename)
--- a/src/testdir/test_diffmode.vim
+++ b/src/testdir/test_diffmode.vim
@@ -1018,6 +1018,37 @@ func Test_diff_with_cursorline()
   call delete('Xtest_diff_cursorline')
 endfunc
 
+func Test_diff_with_cursorline_breakindent()
+  CheckScreendump
+
+  call writefile([
+	\ 'hi CursorLine ctermbg=red ctermfg=white',
+	\ 'set noequalalways wrap diffopt=followwrap cursorline breakindent',
+	\ '50vnew',
+	\ 'call setline(1, ["  ","  ","  ","  "])',
+	\ 'exe "norm 20Afoo\<Esc>j20Afoo\<Esc>j20Afoo\<Esc>j20Abar\<Esc>"',
+	\ 'vnew',
+	\ 'call setline(1, ["  ","  ","  ","  "])',
+	\ 'exe "norm 20Abee\<Esc>j20Afoo\<Esc>j20Afoo\<Esc>j20Abaz\<Esc>"',
+	\ 'windo diffthis',
+	\ '2wincmd w',
+	\ ], 'Xtest_diff_cursorline_breakindent')
+  let buf = RunVimInTerminal('-S Xtest_diff_cursorline_breakindent', {})
+
+  call term_sendkeys(buf, "gg0")
+  call VerifyScreenDump(buf, 'Test_diff_with_cul_bri_01', {})
+  call term_sendkeys(buf, "j")
+  call VerifyScreenDump(buf, 'Test_diff_with_cul_bri_02', {})
+  call term_sendkeys(buf, "j")
+  call VerifyScreenDump(buf, 'Test_diff_with_cul_bri_03', {})
+  call term_sendkeys(buf, "j")
+  call VerifyScreenDump(buf, 'Test_diff_with_cul_bri_04', {})
+
+  " clean up
+  call StopVimInTerminal(buf)
+  call delete('Xtest_diff_cursorline_breakindent')
+endfunc
+
 func Test_diff_with_syntax()
   CheckScreendump
 
--- a/src/version.c
+++ b/src/version.c
@@ -756,6 +756,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    3295,
+/**/
     3294,
 /**/
     3293,