patch 8.2.1611: Vim9: cannot pass "true" to nr2char()
Problem: Vim9: cannot pass "true" to nr2char().
Solution: use tv_get_bool_chk(). (closes #6878)
diff --git a/src/evalfunc.c b/src/evalfunc.c
index b4e4220..2a82812 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -5874,7 +5874,7 @@
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
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index 84fc7c9..b3b6b32 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -1529,6 +1529,10 @@
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
diff --git a/src/version.c b/src/version.c
index a8cf168..bcece94 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1611,
+/**/
1610,
/**/
1609,