To: vim_dev@googlegroups.com Subject: Patch 8.1.2176 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.1.2176 Problem: Syntax attributes not combined with Visual highlighting. (Arseny Nasokin) Solution: Combine the attributes. (closes #5083) Files: src/drawline.c, src/testdir/test_syntax.vim, src/testdir/dumps/Test_syntax_c_01.dump *** ../vim-8.1.2175/src/drawline.c 2019-10-18 20:36:48.753171724 +0200 --- src/drawline.c 2019-10-18 23:08:00.892544143 +0200 *************** *** 1470,1478 **** --- 1470,1490 ---- attr_pri = TRUE; #ifdef LINE_ATTR if (area_attr != 0) + { char_attr = hl_combine_attr(line_attr, area_attr); + # ifdef FEAT_SYN_HL + if (syntax_attr != 0) + char_attr = hl_combine_attr(syntax_attr, char_attr); + # endif + } else if (search_attr != 0) + { char_attr = hl_combine_attr(line_attr, search_attr); + # ifdef FEAT_SYN_HL + if (syntax_attr != 0) + char_attr = hl_combine_attr(syntax_attr, char_attr); + # endif + } # ifdef FEAT_TEXT_PROP else if (text_prop_type != NULL) { *** ../vim-8.1.2175/src/testdir/test_syntax.vim 2019-10-16 16:57:02.920817250 +0200 --- src/testdir/test_syntax.vim 2019-10-18 23:06:53.348838000 +0200 *************** *** 551,557 **** \ '}', \ ' static void', \ 'myFunction(const double count, struct nothing, long there) {', ! \ "\t// 123: nothing to read here", \ "\tfor (int i = 0; i < count; ++i) {", \ "\t break;", \ "\t}", --- 551,557 ---- \ '}', \ ' static void', \ 'myFunction(const double count, struct nothing, long there) {', ! \ "\t// 123: nothing to endif here", \ "\tfor (int i = 0; i < count; ++i) {", \ "\t break;", \ "\t}", *************** *** 563,569 **** --- 563,574 ---- let $COLORFGBG = '15;0' let buf = RunVimInTerminal('Xtest.c', {}) + call term_sendkeys(buf, ":set hlsearch\r") + call term_sendkeys(buf, "/endif\r") + call term_sendkeys(buf, "vjfC") call VerifyScreenDump(buf, 'Test_syntax_c_01', {}) + + call term_sendkeys(buf, "\") call StopVimInTerminal(buf) let $COLORFGBG = '' *** ../vim-8.1.2175/src/testdir/dumps/Test_syntax_c_01.dump 2019-10-16 16:57:02.920817250 +0200 --- src/testdir/dumps/Test_syntax_c_01.dump 2019-10-18 23:08:08.964508980 +0200 *************** *** 1,4 **** ! >/+0#0000e05#ffffff0|*| |c|o|m@1|e|n|t| |l|i|n|e| |a|t| |t|h|e| |t|o|p| |*|/| +0#0000000&@45 @2|i+0#00e0003&|n|t| +0#0000000&@69 |m|a|i|n|(|i+0#00e0003&|n|t| +0#0000000&|a|r|g|c|,| |c+0#00e0003&|h|a|r| +0#0000000&|*@1|a|r|g|v|)|/+0#0000e05&@1| |a|n|o|t|h|e|r| |c|o|m@1|e|n|t| +0#0000000&@29 |{| @73 --- 1,4 ---- ! |/+0#0000e05#ffffff0|*| |c|o|m@1|e|n|t| |l|i|n|e| |a|t| |t|h|e| |t|o|p| |*|/| +0#0000000&@45 @2|i+0#00e0003&|n|t| +0#0000000&@69 |m|a|i|n|(|i+0#00e0003&|n|t| +0#0000000&|a|r|g|c|,| |c+0#00e0003&|h|a|r| +0#0000000&|*@1|a|r|g|v|)|/+0#0000e05&@1| |a|n|o|t|h|e|r| |c|o|m@1|e|n|t| +0#0000000&@29 |{| @73 *************** *** 6,20 **** | +0#0000e05&@2|i|n|t| @2|n|o|t|_|u|s|e|d|;| +0#0000000&@56 |#+0#e000e06&|e|l|s|e| +0#0000000&@69 @3|i+0#00e0003&|n|t| +0#0000000&@2|u|s|e|d|;| @60 ! |#+0#e000e06&|e|n|d|i|f| +0#0000000&@68 ! @3|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| |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 @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 ! @1| +0#0000e05&@6|/@1| |1+0#e000002&|2|3|:+0#0000e05&| |n|o|t|h|i|n|g| |t|o| |r|e|a|d| |h|e|r|e| +0#0000000&@38 @1| +0#af5f00255&@6|f|o|r| +0#0000000&|(|i+0#00e0003&|n|t| +0#0000000&|i| |=| |0+0#e000002&|;+0#0000000&| |i| |<| |c|o|u|n|t|;| |+@1|i|)| |{| @33 @11|b+0#af5f00255&|r|e|a|k|;+0#0000000&| @57 @8|}| @65 |}| @73 ! |"|X|t|e|s|t|.|c|"| |1|9|L|,| |3|6|1|C| @37|1|,|1| @10|A|l@1| --- 6,20 ---- | +0#0000e05&@2|i|n|t| @2|n|o|t|_|u|s|e|d|;| +0#0000000&@56 |#+0#e000e06&|e|l|s|e| +0#0000000&@69 @3|i+0#00e0003&|n|t| +0#0000000&@2|u|s|e|d|;| @60 ! |#+0#e000e06&|e+0&#e0e0e08|n|d|i|f| +0#0000000&| +0&#ffffff0@67 ! | +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 @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 ! @1| +0#0000e05&@6|/@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 @1| +0#af5f00255&@6|f|o|r| +0#0000000&|(|i+0#00e0003&|n|t| +0#0000000&|i| |=| |0+0#e000002&|;+0#0000000&| |i| |<| |c|o|u|n|t|;| |+@1|i|)| |{| @33 @11|b+0#af5f00255&|r|e|a|k|;+0#0000000&| @57 @8|}| @65 |}| @73 ! |-+2&&@1| |V|I|S|U|A|L| |-@1| +0&&@34|2| @8|1|0|,|3|7| @8|A|l@1| *** ../vim-8.1.2175/src/version.c 2019-10-18 22:08:33.662776100 +0200 --- src/version.c 2019-10-18 23:11:51.803536395 +0200 *************** *** 743,744 **** --- 743,746 ---- { /* Add new patch number below this line */ + /**/ + 2176, /**/ -- It might look like I'm doing nothing, but at the cellular level I'm really quite busy. /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///