# HG changeset patch # User Bram Moolenaar # Date 1557772206 -7200 # Node ID e8c081146788b3801c7b4eb27ef14120d8ca7210 # Parent 5986152269cff09199516333508d79d847137a3e patch 8.1.1330: using bold attribute in terminal changes the color commit https://github.com/vim/vim/commit/9e58787de737479fb210a3bfef7458d667406d17 Author: Bram Moolenaar Date: Mon May 13 20:27:23 2019 +0200 patch 8.1.1330: using bold attribute in terminal changes the color Problem: Using bold attribute in terminal changes the color. (Jason Franklin) Solution: Don't set the "bold-highbright" flag in vterm unless the terminal supports less than 16 colors. diff --git a/src/terminal.c b/src/terminal.c --- a/src/terminal.c +++ b/src/terminal.c @@ -3976,7 +3976,9 @@ create_vterm(term_T *term, int rows, int &term->tl_default_color.fg, &term->tl_default_color.bg); - if (t_colors >= 16) + if (t_colors < 16) + // Less than 16 colors: assume that bold means using a bright color for + // the foreground color. vterm_state_set_bold_highbright(vterm_obtain_state(vterm), 1); /* Required to initialize most things. */ diff --git a/src/testdir/dumps/Test_terminal_all_ansi_colors.dump b/src/testdir/dumps/Test_terminal_all_ansi_colors.dump --- a/src/testdir/dumps/Test_terminal_all_ansi_colors.dump +++ b/src/testdir/dumps/Test_terminal_all_ansi_colors.dump @@ -1,4 +1,4 @@ ->A+0#0000001#8080809@1|B+0#e000002#ff404010@1|C+0#00e0003#40ff4011@1|D+0#e0e0004#ffff4012@1|E+0#0000e05#4040ff13@1|F+0#e000e06#ff40ff14@1|G+0#00e0e07#40ffff15@1|H+0#e0e0e08#ffffff16@1|I+0#8080809#0000001@1|J+0#ff404010#e000002@1|K+0#40ff4011#00e0003@1|L+0#ffff4012#e0e0004@1|M+0#4040ff13#0000e05@1|N+0#ff40ff14#e000e06@1|O+0#40ffff15#00e0e07@1|P+0#ffffff16#e0e0e08@1| +0#0000000#ffffff0@42 +>A+0#0000001#8080809@1|B+0#e000002#ff404010@1|C+0#00e0003#40ff4011@1|D+0#e0e0004#ffff4012@1|E+0#0000e05#4040ff13@1|F+0#e000e06#ff40ff14@1|G+0#00e0e07#40ffff15@1|H+0#e0e0e08#ffffff16@1|I+0#8080809#0000001@1|J+0#ff404010#e000002@1|K+0#40ff4011#00e0003@1|L+0#ffff4012#e0e0004@1|M+0#4040ff13#0000e05@1|N+0#ff40ff14#e000e06@1|O+0#40ffff15#00e0e07@1|P+0#ffffff16#e0e0e08@1| +0#0000000#ffffff0|X+2#e000002&@1|Y+2#40ff4011&@1|Z+2#ff40ff14#e000e06@1| +0#0000000#ffffff0@35 @2| +0#4040ff13&@72 |~| @73 |~| @73 diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim --- a/src/testdir/test_terminal.vim +++ b/src/testdir/test_terminal.vim @@ -1491,7 +1491,7 @@ func Test_terminal_all_ansi_colors() " Use all the ANSI colors. call writefile([ - \ 'call setline(1, "AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPP")', + \ 'call setline(1, "AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPP XXYYZZ")', \ 'hi Tblack ctermfg=0 ctermbg=8', \ 'hi Tdarkred ctermfg=1 ctermbg=9', \ 'hi Tdarkgreen ctermfg=2 ctermbg=10', @@ -1508,6 +1508,9 @@ func Test_terminal_all_ansi_colors() \ 'hi Tmagenta ctermfg=13 ctermbg=5', \ 'hi Tcyan ctermfg=14 ctermbg=6', \ 'hi Twhite ctermfg=15 ctermbg=7', + \ 'hi TdarkredBold ctermfg=1 cterm=bold', + \ 'hi TgreenBold ctermfg=10 cterm=bold', + \ 'hi TmagentaBold ctermfg=13 cterm=bold ctermbg=5', \ '', \ 'call matchadd("Tblack", "A")', \ 'call matchadd("Tdarkred", "B")', @@ -1525,6 +1528,9 @@ func Test_terminal_all_ansi_colors() \ 'call matchadd("Tmagenta", "N")', \ 'call matchadd("Tcyan", "O")', \ 'call matchadd("Twhite", "P")', + \ 'call matchadd("TdarkredBold", "X")', + \ 'call matchadd("TgreenBold", "Y")', + \ 'call matchadd("TmagentaBold", "Z")', \ 'redraw', \ ], 'Xcolorscript') let buf = RunVimInTerminal('-S Xcolorscript', {'rows': 10}) diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -768,6 +768,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1330, +/**/ 1329, /**/ 1328,