From: Bram Moolenaar Date: Thu, 1 Oct 2020 19:37:21 +0000 (+0200) Subject: patch 8.2.1782: Vim9: cannot pass boolean to mapset() X-Git-Tag: v8.2.1782 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=74273e66914e46eb5814c13a1b888e45358859b6;p=vim patch 8.2.1782: Vim9: cannot pass boolean to mapset() Problem: Vim9: cannot pass boolean to mapset(). Solution: Use get_tv_bool(). (closes #7041) --- diff --git a/src/map.c b/src/map.c index 6a994d418..b46ba3781 100644 --- a/src/map.c +++ b/src/map.c @@ -2307,7 +2307,7 @@ f_mapset(typval_T *argvars, typval_T *rettv UNUSED) if (which == NULL) return; mode = get_map_mode(&which, 0); - is_abbr = (int)tv_get_number(&argvars[1]); + is_abbr = (int)tv_get_bool(&argvars[1]); if (argvars[2].v_type != VAR_DICT) { diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim index eec5af62f..509c7fa7e 100644 --- a/src/testdir/test_vim9_func.vim +++ b/src/testdir/test_vim9_func.vim @@ -1721,6 +1721,14 @@ def Test_mapcheck() iunabbrev foo enddef +def Test_maparg_mapset() + nnoremap :echo "hit F3" + var mapsave = maparg('', 'n', false, true) + mapset('n', false, mapsave) + + nunmap +enddef + def Test_nr2char() nr2char(97, true)->assert_equal('a') enddef diff --git a/src/version.c b/src/version.c index 012718618..9619a334e 100644 --- a/src/version.c +++ b/src/version.c @@ -750,6 +750,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1782, /**/ 1781, /**/