summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-09-05 21:41:56 +0200
committerBram Moolenaar <Bram@vim.org>2020-09-05 21:41:56 +0200
commitfcb6d7082d563acc33866b3d3a659c32ad19a9e1 (patch)
tree0f531f85a459c05eb5b6e601a288028878bc2b88
parent30788d3d37a90b0702d94b7272ed26672534ba6f (diff)
downloadvim-git-fcb6d7082d563acc33866b3d3a659c32ad19a9e1.tar.gz
patch 8.2.1616: Vim9: cannot pass "true" to synID()v8.2.1616
Problem: Vim9: cannot pass "true" to synID(). Solution: Use tv_get_bool_chk(). (closes #6860)
-rw-r--r--src/evalfunc.c2
-rw-r--r--src/testdir/test_vim9_func.vim7
-rw-r--r--src/version.c2
3 files changed, 10 insertions, 1 deletions
diff --git a/src/evalfunc.c b/src/evalfunc.c
index e74a82a91..ea633c719 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -8487,7 +8487,7 @@ f_synID(typval_T *argvars UNUSED, typval_T *rettv)
lnum = tv_get_lnum(argvars); // -1 on type error
col = (linenr_T)tv_get_number(&argvars[1]) - 1; // -1 on type error
- trans = (int)tv_get_number_chk(&argvars[2], &transerr);
+ trans = (int)tv_get_bool_chk(&argvars[2], &transerr);
if (!transerr && lnum >= 1 && lnum <= curbuf->b_ml.ml_line_count
&& col >= 0 && col < (long)STRLEN(ml_get(lnum)))
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index 24377b289..ff2379a9a 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -1551,6 +1551,13 @@ def Test_searchdecl()
assert_equal(1, searchdecl('blah', true, true))
enddef
+def Test_synID()
+ new
+ setline(1, "text")
+ assert_equal(0, synID(1, 1, true))
+ bwipe!
+enddef
+
def Fibonacci(n: number): number
if n < 2
return n
diff --git a/src/version.c b/src/version.c
index 0cce5b232..ff291b68d 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1616,
+/**/
1615,
/**/
1614,