summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-09-04 19:50:57 +0200
committerBram Moolenaar <Bram@vim.org>2020-09-04 19:50:57 +0200
commit24f7750ffa9730579736d779b7cc94faff325fc1 (patch)
treebdfa00955074b0bcc6ab75439596d62fa54467d7
parentc05d1c043a25c7a52dbf0a740d3f715a9d2691f7 (diff)
downloadvim-git-24f7750ffa9730579736d779b7cc94faff325fc1.tar.gz
patch 8.2.1592: Vim9: passing "true" to char2nr() failsv8.2.1592
Problem: Vim9: passing "true" to char2nr() fails. Solution: Use tv_get_bool_chk(). (closes #6865)
-rw-r--r--src/evalfunc.c2
-rw-r--r--src/testdir/test_vim9_func.vim4
-rw-r--r--src/version.c2
3 files changed, 7 insertions, 1 deletions
diff --git a/src/evalfunc.c b/src/evalfunc.c
index ac75a7d56..110935df3 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -1710,7 +1710,7 @@ f_char2nr(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)
rettv->vval.v_number = utf_ptr2char(tv_get_string(&argvars[0]));
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index ad3268af5..3e217300f 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -1339,6 +1339,10 @@ def Test_col()
assert_equal(5, col([1, '$']))
enddef
+def Test_char2nr()
+ assert_equal(12354, char2nr('あ', true))
+enddef
+
def Test_getreg_return_type()
let s1: string = getreg('"')
let s2: string = getreg('"', 1)
diff --git a/src/version.c b/src/version.c
index 60c62945a..111405fb1 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1592,
+/**/
1591,
/**/
1590,