From fcb6d7082d563acc33866b3d3a659c32ad19a9e1 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sat, 5 Sep 2020 21:41:56 +0200 Subject: patch 8.2.1616: Vim9: cannot pass "true" to synID() Problem: Vim9: cannot pass "true" to synID(). Solution: Use tv_get_bool_chk(). (closes #6860) --- src/evalfunc.c | 2 +- src/testdir/test_vim9_func.vim | 7 +++++++ src/version.c | 2 ++ 3 files changed, 10 insertions(+), 1 deletion(-) 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 @@ -754,6 +754,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1616, /**/ 1615, /**/ -- cgit v1.2.1