]> granicus.if.org Git - vim/commitdiff
patch 8.2.1611: Vim9: cannot pass "true" to nr2char() v8.2.1611
authorBram Moolenaar <Bram@vim.org>
Sat, 5 Sep 2020 18:29:41 +0000 (20:29 +0200)
committerBram Moolenaar <Bram@vim.org>
Sat, 5 Sep 2020 18:29:41 +0000 (20:29 +0200)
Problem:    Vim9: cannot pass "true" to nr2char().
Solution:   use tv_get_bool_chk(). (closes #6878)

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

index b4e4220412ebc3ae322a447561c97f3410840c17..2a8281230ee91339a19dc2dbe6ea04f13e30a5f3 100644 (file)
@@ -5874,7 +5874,7 @@ f_nr2char(typval_T *argvars, typval_T *rettv)
        int     utf8 = 0;
 
        if (argvars[1].v_type != VAR_UNKNOWN)
-           utf8 = (int)tv_get_number_chk(&argvars[1], NULL);
+           utf8 = (int)tv_get_bool_chk(&argvars[1], NULL);
        if (utf8)
            buf[utf_char2bytes((int)tv_get_number(&argvars[0]), buf)] = NUL;
        else
index 84fc7c9557f90d4b01b95026b743b85fa212da04..b3b6b32251de6e00d007ddb41b8f2ec4a44e56fd 100644 (file)
@@ -1529,6 +1529,10 @@ def Test_list2str_str2list_utf8()
   assert_equal(s, list2str(l, true))
 enddef
 
+def Test_nr2char()
+  assert_equal('a', nr2char(97, true))
+enddef
+
 def Fibonacci(n: number): number
   if n < 2
     return n
index a8cf1680a372f32dd2a246e2883d496ad0262d90..bcece94d532b76f7f3d6d86be1dd62d482d9154c 100644 (file)
@@ -754,6 +754,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1611,
 /**/
     1610,
 /**/