]> granicus.if.org Git - vim/commitdiff
patch 8.2.1616: Vim9: cannot pass "true" to synID() v8.2.1616
authorBram Moolenaar <Bram@vim.org>
Sat, 5 Sep 2020 19:41:56 +0000 (21:41 +0200)
committerBram Moolenaar <Bram@vim.org>
Sat, 5 Sep 2020 19:41:56 +0000 (21:41 +0200)
Problem:    Vim9: cannot pass "true" to synID().
Solution:   Use tv_get_bool_chk(). (closes #6860)

src/evalfunc.c
src/testdir/test_vim9_func.vim
src/version.c

index e74a82a91f90b0f7b011998194827f9f6a38500a..ea633c719f9620979d3887730d6e8a2d9ad57159 100644 (file)
@@ -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)))
index 24377b2898faea46988f20428fbc8650c0aaba40..ff2379a9aa315e0a37ff73c1e9ac5a3f797237e3 100644 (file)
@@ -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
index 0cce5b232e06d29aed2be4e72bcd989b24ccc788..ff291b68dbea8a1004e3c91fd27782cfa5a89d87 100644 (file)
@@ -754,6 +754,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1616,
 /**/
     1615,
 /**/