summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/screen.c8
-rw-r--r--src/testdir/dumps/Test_quickfix_cwindow_1.dump12
-rw-r--r--src/testdir/dumps/Test_quickfix_cwindow_2.dump12
-rw-r--r--src/testdir/test_quickfix.vim26
-rw-r--r--src/version.c2
5 files changed, 58 insertions, 2 deletions
diff --git a/src/screen.c b/src/screen.c
index 22b26b472..4d976fd68 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -4763,14 +4763,18 @@ win_line(
comb_attr, cul_attr);
else
#endif
+ if (line_attr)
+ char_attr = hl_combine_attr(
+ comb_attr, line_attr);
+ else
char_attr = comb_attr;
}
else
char_attr = hl_combine_attr(comb_attr, char_attr);
}
# ifdef FEAT_CONCEAL
- /* no concealing past the end of the line, it interferes
- * with line highlighting */
+ // no concealing past the end of the line, it interferes
+ // with line highlighting
if (c == NUL)
syntax_flags = 0;
else
diff --git a/src/testdir/dumps/Test_quickfix_cwindow_1.dump b/src/testdir/dumps/Test_quickfix_cwindow_1.dump
new file mode 100644
index 000000000..ef153f908
--- /dev/null
+++ b/src/testdir/dumps/Test_quickfix_cwindow_1.dump
@@ -0,0 +1,12 @@
+|s+0&#ffffff0|o|m|e| @70
+|t|e|x|t| @70
+|w|i|t|h| @70
+|m|a|t|c|h|e|s| @67
+|~+0#4040ff13&| @73
+|X+1#0000000&|C|w|i|n|d|o|w| @48|1|,|4| @11|A|l@1
+>X+0#0000e05#ffff4012|C|w|i|n|d|o|w||+0#0000000&|1+0#af5f00255&| |c|o|l| |4||+0#0000000&| |s|o|m|e| @52
+|X+0#0000e05#ffffff0|C|w|i|n|d|o|w||+0#0000000&|2+0#af5f00255&| |c|o|l| |2||+0#0000000&| |t|e|x|t| @52
+|X+0#0000e05&|C|w|i|n|d|o|w||+0#0000000&|4+0#af5f00255&| |c|o|l| |6||+0#0000000&| |m|a|t|c|h|e|s| @49
+|~+0#4040ff13&| @73
+|[+3#0000000&|Q|u|i|c|k|f|i|x| |L|i|s|t|]| |:|v|i|m|g|r|e|p| |e| |X|C|w|i|n|d|o|w| @20|1|,|1| @12|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_quickfix_cwindow_2.dump b/src/testdir/dumps/Test_quickfix_cwindow_2.dump
new file mode 100644
index 000000000..4c87ca053
--- /dev/null
+++ b/src/testdir/dumps/Test_quickfix_cwindow_2.dump
@@ -0,0 +1,12 @@
+|s+0&#ffffff0|o|m|e| @70
+|t>e|x|t| @70
+|w|i|t|h| @70
+|m|a|t|c|h|e|s| @67
+|~+0#4040ff13&| @73
+|X+3#0000000&|C|w|i|n|d|o|w| @48|2|,|2| @11|A|l@1
+|X+0#0000e05&|C|w|i|n|d|o|w||+0#0000000&|1+0#af5f00255&| |c|o|l| |4||+0#0000000&| |s|o|m|e| @52
+|X+0#0000e05#ffff4012|C|w|i|n|d|o|w||+0#0000000&|2+0#af5f00255&| |c|o|l| |2||+0#0000000&| |t|e|x|t| @52
+|X+0#0000e05#ffffff0|C|w|i|n|d|o|w||+0#0000000&|4+0#af5f00255&| |c|o|l| |6||+0#0000000&| |m|a|t|c|h|e|s| @49
+|~+0#4040ff13&| @73
+|[+1#0000000&|Q|u|i|c|k|f|i|x| |L|i|s|t|]| |:|v|i|m|g|r|e|p| |e| |X|C|w|i|n|d|o|w| @20|2|,|1| @12|A|l@1
+|:+0&&|c|n|e|x|t| @68
diff --git a/src/testdir/test_quickfix.vim b/src/testdir/test_quickfix.vim
index f2403986b..e0ab2b3aa 100644
--- a/src/testdir/test_quickfix.vim
+++ b/src/testdir/test_quickfix.vim
@@ -3,6 +3,8 @@
source check.vim
CheckFeature quickfix
+source screendump.vim
+
set encoding=utf-8
func s:setup_commands(cchar)
@@ -2428,6 +2430,30 @@ func Test_cwindow_jump()
set efm&vim
endfunc
+func Test_cwindow_highlight()
+ CheckScreendump
+
+ let lines =<< trim END
+ set t_u7=
+ call setline(1, ['some', 'text', 'with', 'matches'])
+ write XCwindow
+ vimgrep e XCwindow
+ redraw
+ cwindow 4
+ END
+ call writefile(lines, 'XtestCwindow')
+ let buf = RunVimInTerminal('-S XtestCwindow', #{rows: 12})
+ call VerifyScreenDump(buf, 'Test_quickfix_cwindow_1', {})
+
+ call term_sendkeys(buf, ":cnext\<CR>")
+ call VerifyScreenDump(buf, 'Test_quickfix_cwindow_2', {})
+
+ " clean up
+ call StopVimInTerminal(buf)
+ call delete('XtestCwindow')
+ call delete('XCwindow')
+endfunc
+
func XvimgrepTests(cchar)
call s:setup_commands(a:cchar)
diff --git a/src/version.c b/src/version.c
index a2f64177a..bf0d350d7 100644
--- a/src/version.c
+++ b/src/version.c
@@ -758,6 +758,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2040,
+/**/
2039,
/**/
2038,