# HG changeset patch # User Bram Moolenaar # Date 1571571004 -7200 # Node ID c34ee31d087846999e2f59117295b724c006792b # Parent 1ee8267f1258009bedc4e0d97fb3f888d7365d16 patch 8.1.2189: syntax highlighting wrong for tab Commit: https://github.com/vim/vim/commit/82260afb0ec358f50df9816511f480d455a1cdac Author: Bram Moolenaar Date: Sun Oct 20 13:16:22 2019 +0200 patch 8.1.2189: syntax highlighting wrong for tab Problem: Syntax highlighting wrong for tab. Solution: Don't clear syntax attribute n_extra is non-zero. diff --git a/src/drawline.c b/src/drawline.c --- a/src/drawline.c +++ b/src/drawline.c @@ -1400,9 +1400,9 @@ win_line( #endif #ifdef FEAT_SYN_HL - syntax_attr = 0; if (extra_check && n_extra == 0) { + syntax_attr = 0; # ifdef FEAT_TERMINAL if (get_term_attr) syntax_attr = term_get_attr(wp->w_buffer, lnum, vcol); diff --git a/src/testdir/dumps/Test_syntax_c_01.dump b/src/testdir/dumps/Test_syntax_c_01.dump --- a/src/testdir/dumps/Test_syntax_c_01.dump +++ b/src/testdir/dumps/Test_syntax_c_01.dump @@ -10,6 +10,7 @@ | +0&#e0e0e08@2|p|r|i|n|t|f|(|"+0#e000002&|J|u|s|t| |a|n| |e|x|a|m|p|l|e| |p|i|e|c|e| |o|f| >C+0&#ffffff0| |c|o|d|e|\+0#e000e06&|n|"+0#e000002&|)+0#0000000&|;| @27 @3|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|0+0#e000002&|x|0|f@1|;+0#0000000&| @58 |}| @73 +| +0#ffffff16#ff404010@16| +0#0000000#ffffff0@57 @3|s+0#00e0003&|t|a|t|i|c| +0#0000000&|v+0#00e0003&|o|i|d| +0#0000000&@60 |m|y|F|u|n|c|t|i|o|n|(|c+0#00e0003&|o|n|s|t| +0#0000000&|d+0#00e0003&|o|u|b|l|e| +0#0000000&|c|o|u|n|t|,| |s+0#00e0003&|t|r|u|c|t| +0#0000000&|n|o|t|h|i|n|g|,| |l+0#00e0003&|o|n|g| +0#0000000&|t|h|e|r|e|)| |{| @14 @8|/+0#0000e05&@1| |1+0#e000002&|2|3|:+0#0000e05&| |n|o|t|h|i|n|g| |t|o| |e+0&#ffff4012|n|d|i|f| +0&#ffffff0|h|e|r|e| +0#0000000&@37 @@ -18,5 +19,4 @@ @8|}| @65 @8|N+0&#ffff4012|o|t|e|:+0&#ffffff0| |a|s|d|f| @56 |}| @73 -|~+0#4040ff13&| @73 -|-+2#0000000&@1| |V|I|S|U|A|L| |-@1| +0&&@34|2| @8|1|0|,|3|7| @8|A|l@1| +|-+2&&@1| |V|I|S|U|A|L| |-@1| +0&&@34|2| @8|1|0|,|3|7| @8|A|l@1| diff --git a/src/testdir/test_syntax.vim b/src/testdir/test_syntax.vim --- a/src/testdir/test_syntax.vim +++ b/src/testdir/test_syntax.vim @@ -549,6 +549,7 @@ func Test_syntax_c() \ ' printf("Just an example piece of C code\n");', \ ' return 0x0ff;', \ '}', + \ "\t\t ", \ ' static void', \ 'myFunction(const double count, struct nothing, long there) {', \ "\t// 123: nothing to endif here", @@ -565,6 +566,7 @@ func Test_syntax_c() let buf = RunVimInTerminal('Xtest.c', #{rows: 22}) call term_sendkeys(buf, ":syn keyword Search Note\r") + call term_sendkeys(buf, ":syn match Error /^\\s\\+$/\r") call term_sendkeys(buf, ":set hlsearch\r") call term_sendkeys(buf, "/endif\r") call term_sendkeys(buf, "vjfC") diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -742,6 +742,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2189, +/**/ 2188, /**/ 2187,