diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2016-09-17 06:18:28 +0200 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2016-09-17 06:18:28 +0200 |
commit | 3a9da803ccdf77f20c95bb85a047c9ec532e9d1f (patch) | |
tree | 46a6e86bb1707aa059ad314a579761f263846c37 /src | |
parent | 6e9f329d051cf6bf6d83dbe5335f86a1752ec45a (diff) | |
parent | 21eee40cdbe77d4d2095db14b5b7f8de27a5ae52 (diff) | |
download | rneovim-3a9da803ccdf77f20c95bb85a047c9ec532e9d1f.tar.gz rneovim-3a9da803ccdf77f20c95bb85a047c9ec532e9d1f.tar.bz2 rneovim-3a9da803ccdf77f20c95bb85a047c9ec532e9d1f.zip |
Merge #5326 'vim-patch:7.4.1547'
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/syntax.c | 10 | ||||
-rw-r--r-- | src/nvim/testdir/test_alot.vim | 1 | ||||
-rw-r--r-- | src/nvim/testdir/test_syn_attr.vim | 24 | ||||
-rw-r--r-- | src/nvim/version.c | 2 |
4 files changed, 33 insertions, 4 deletions
diff --git a/src/nvim/syntax.c b/src/nvim/syntax.c index c753c6fabd..6fd7603629 100644 --- a/src/nvim/syntax.c +++ b/src/nvim/syntax.c @@ -7001,11 +7001,15 @@ highlight_color ( if (font || sp) return NULL; if (modec == 'c') { - if (fg) + if (fg) { n = HL_TABLE()[id - 1].sg_cterm_fg - 1; - else + } else { n = HL_TABLE()[id - 1].sg_cterm_bg - 1; - sprintf((char *)name, "%d", n); + } + if (n < 0) { + return NULL; + } + snprintf((char *)name, sizeof(name), "%d", n); return name; } /* term doesn't have color */ diff --git a/src/nvim/testdir/test_alot.vim b/src/nvim/testdir/test_alot.vim index e5214971b4..f0efd6e4ed 100644 --- a/src/nvim/testdir/test_alot.vim +++ b/src/nvim/testdir/test_alot.vim @@ -8,4 +8,5 @@ source test_cmdline.vim source test_menu.vim source test_popup.vim source test_regexp_utf8.vim +source test_syn_attr.vim source test_unlet.vim diff --git a/src/nvim/testdir/test_syn_attr.vim b/src/nvim/testdir/test_syn_attr.vim new file mode 100644 index 0000000000..809442eb94 --- /dev/null +++ b/src/nvim/testdir/test_syn_attr.vim @@ -0,0 +1,24 @@ +" Test syntax highlighting functions. + +func Test_missing_attr() + hi Mine cterm=italic + call assert_equal('Mine', synIDattr(hlID("Mine"), "name")) + call assert_equal('1', synIDattr(hlID("Mine"), "italic", 'cterm')) + hi Mine cterm=inverse + call assert_equal('1', synIDattr(hlID("Mine"), "inverse", 'cterm')) + hi Mine cterm=standout gui=undercurl + call assert_equal('1', synIDattr(hlID("Mine"), "standout", 'cterm')) + call assert_equal('1', synIDattr(hlID("Mine"), "undercurl", 'gui')) + hi Mine cterm=NONE gui=NONE + call assert_equal('', synIDattr(hlID("Mine"), "italic", 'cterm')) + call assert_equal('', synIDattr(hlID("Mine"), "inverse", 'cterm')) + call assert_equal('', synIDattr(hlID("Mine"), "standout", 'cterm')) + call assert_equal('', synIDattr(hlID("Mine"), "undercurl", 'gui')) + + if has('gui') + hi Mine guifg=blue guibg=red font=something + call assert_equal('blue', synIDattr(hlID("Mine"), "fg", 'gui')) + call assert_equal('red', synIDattr(hlID("Mine"), "bg", 'gui')) + call assert_equal('something', synIDattr(hlID("Mine"), "font", 'gui')) + endif +endfunc diff --git a/src/nvim/version.c b/src/nvim/version.c index bc826d8660..fa949224f3 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -730,7 +730,7 @@ static int included_patches[] = { 1550, // 1549, 1548, - // 1547, + 1547, 1546, // 1545 NA // 1544 NA |