]> granicus.if.org Git - vim/commitdiff
patch 8.2.1576: Vim9: index() does not take "true" as argument v8.2.1576
authorBram Moolenaar <Bram@vim.org>
Wed, 2 Sep 2020 20:10:34 +0000 (22:10 +0200)
committerBram Moolenaar <Bram@vim.org>
Wed, 2 Sep 2020 20:10:34 +0000 (22:10 +0200)
Problem:    Vim9: index() does not take "true" as argument.
Solution:   Use tv_get_bool_chk(). (closes #6823)

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

index 340ecf09582062065ee351dbe12cd7f3ec69af1f..4f0bb5cea56a5dd69cb500399e6bccd19010f98a 100644 (file)
@@ -4944,7 +4944,7 @@ f_index(typval_T *argvars, typval_T *rettv)
            item = list_find(l, (long)tv_get_number_chk(&argvars[2], &error));
            idx = l->lv_u.mat.lv_idx;
            if (argvars[3].v_type != VAR_UNKNOWN)
-               ic = (int)tv_get_number_chk(&argvars[3], &error);
+               ic = (int)tv_get_bool_chk(&argvars[3], &error);
            if (error)
                item = NULL;
        }
index 11a6ddd01592de9a93baae5ee40f1310aa0f25ba..04f8d7aa7e1fc535ca5fbecdccb4f28eee003d44 100644 (file)
@@ -1497,6 +1497,10 @@ def Test_count()
   assert_equal(0, count('ABC ABC ABC', 'b', false))
 enddef
 
+def Test_index()
+  assert_equal(3, index(['a', 'b', 'a', 'B'], 'b', 2, true))
+enddef
+
 def Test_expand()
   split SomeFile
   assert_equal(['SomeFile'], expand('%', true, true))
index 2bf4914601a7f744c0fb48874a5223bdeaf58b68..388be57e3e2d88c87b67aa3c3f3000063bf3db89 100644 (file)
@@ -754,6 +754,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1576,
 /**/
     1575,
 /**/