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
index a13c330..ac37928 100644
--- a/src/drawline.c
+++ b/src/drawline.c
@@ -1400,9 +1400,9 @@
#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
index bb1c3c2..4bef1b7 100644
--- 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
index 4f431d0..c87b3d6 100644
--- a/src/testdir/test_syntax.vim
+++ b/src/testdir/test_syntax.vim
@@ -549,6 +549,7 @@
\ ' 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 @@
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
index f11a020..8360988 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2189,
+/**/
2188,
/**/
2187,