changeset 18390:c34ee31d0878 v8.1.2189

patch 8.1.2189: syntax highlighting wrong for tab Commit: https://github.com/vim/vim/commit/82260afb0ec358f50df9816511f480d455a1cdac Author: Bram Moolenaar <Bram@vim.org> 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.
author Bram Moolenaar <Bram@vim.org>
date Sun, 20 Oct 2019 13:30:04 +0200
parents 1ee8267f1258
children 282ca0ba20f1
files src/drawline.c src/testdir/dumps/Test_syntax_c_01.dump src/testdir/test_syntax.vim src/version.c
diffstat 4 files changed, 7 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- 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);
--- 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| 
--- 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")
--- 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,