summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-10-20 13:16:22 +0200
committerBram Moolenaar <Bram@vim.org>2019-10-20 13:16:22 +0200
commit82260afb0ec358f50df9816511f480d455a1cdac (patch)
treeea4e2bb13a8532117eb33f79ae38d3b61af372d6
parent2b78ab5d0c91c229715ae140a34978506343bde3 (diff)
patch 8.1.2189: syntax highlighting wrong for tabv8.1.2189
Problem: Syntax highlighting wrong for tab. Solution: Don't clear syntax attribute n_extra is non-zero.
-rw-r--r--src/drawline.c2
-rw-r--r--src/testdir/dumps/Test_syntax_c_01.dump4
-rw-r--r--src/testdir/test_syntax.vim2
-rw-r--r--src/version.c2
4 files changed, 7 insertions, 3 deletions
diff --git a/src/drawline.c b/src/drawline.c
index a13c330c51..ac37928427 100644
--- 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
index bb1c3c231e..4bef1b71c8 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 4f431d0cc3..c87b3d65e3 100644
--- 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
index f11a020107..83609888ea 100644
--- 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,