From e4a96c16c9d4c1fd7cd8badcc678764ee93d1097 Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Sat, 8 Aug 2026 00:14:58 -0400 Subject: [PATCH 1/6] vim-patch:8.2.1572: Vim9: expand() does not take "true" as argument Problem: Vim9: expand() does not take "true" as argument. Solution: Use tv_get_bool_chk(). (closes vim/vim#6819) https://github.com/vim/vim/commit/551d25e76545df785a9f62df52f34bc1dd368bfb Co-authored-by: Bram Moolenaar --- src/nvim/eval/funcs.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/nvim/eval/funcs.c b/src/nvim/eval/funcs.c index c411362018..0934864040 100644 --- a/src/nvim/eval/funcs.c +++ b/src/nvim/eval/funcs.c @@ -1293,7 +1293,7 @@ static void f_expand(typval_T *argvars, typval_T *rettv, EvalFuncData fptr) rettv->v_type = VAR_STRING; if (argvars[1].v_type != VAR_UNKNOWN && argvars[2].v_type != VAR_UNKNOWN - && tv_get_number_chk(&argvars[2], &error) + && tv_get_bool_chk(&argvars[2], &error) && !error) { tv_list_set_ret(rettv, NULL); } @@ -1324,7 +1324,7 @@ static void f_expand(typval_T *argvars, typval_T *rettv, EvalFuncData fptr) // When the optional second argument is non-zero, don't remove matches // for 'wildignore' and don't put matches for 'suffixes' at the end. if (argvars[1].v_type != VAR_UNKNOWN - && tv_get_number_chk(&argvars[1], &error)) { + && tv_get_bool_chk(&argvars[1], &error)) { options |= WILD_KEEP_ALL; } if (!error) { From c2f0c2b4d13e55be7b1d9b2293a9c6ff33c9e8d2 Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Sat, 8 Aug 2026 00:17:51 -0400 Subject: [PATCH 2/6] vim-patch:8.2.1573: Vim9: getreg() does not take "true" as argument Problem: Vim9: getreg() does not take "true" as argument. Solution: Use tv_get_bool_chk(). (closes vim/vim#6820) https://github.com/vim/vim/commit/67ff97ded70a87bc77f58d0bf9a261710ae88112 Co-authored-by: Bram Moolenaar --- src/nvim/eval/funcs.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/nvim/eval/funcs.c b/src/nvim/eval/funcs.c index 0934864040..a1dcfb4fae 100644 --- a/src/nvim/eval/funcs.c +++ b/src/nvim/eval/funcs.c @@ -2380,9 +2380,9 @@ static void f_getreg(typval_T *argvars, typval_T *rettv, EvalFuncData fptr) if (argvars[0].v_type != VAR_UNKNOWN && argvars[1].v_type != VAR_UNKNOWN) { bool error = false; - arg2 = (int)tv_get_number_chk(&argvars[1], &error); + arg2 = (int)tv_get_bool_chk(&argvars[1], &error); if (!error && argvars[2].v_type != VAR_UNKNOWN) { - return_list = (bool)tv_get_number_chk(&argvars[2], &error); + return_list = (bool)tv_get_bool_chk(&argvars[2], &error); } if (error) { return; From f3491ac9719259b763890c3223cf80f77af55061 Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Sat, 8 Aug 2026 00:20:46 -0400 Subject: [PATCH 3/6] vim-patch:8.2.1574: Vim9: glob() doesnot take "true" as argument Problem: Vim9: glob() doesnot take "true" as argument. Solution: Use tv_get_bool_chk(). (closes vim/vim#6821) https://github.com/vim/vim/commit/5892ea151197c8a6363c7ce2322d84277b97353e Co-authored-by: Bram Moolenaar --- src/nvim/eval/fs.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/nvim/eval/fs.c b/src/nvim/eval/fs.c index 5c9f1fef19..f272d3d7b9 100644 --- a/src/nvim/eval/fs.c +++ b/src/nvim/eval/fs.c @@ -932,15 +932,15 @@ void f_glob(typval_T *argvars, typval_T *rettv, EvalFuncData fptr) // for 'wildignore' and don't put matches for 'suffixes' at the end. rettv->v_type = VAR_STRING; if (argvars[1].v_type != VAR_UNKNOWN) { - if (tv_get_number_chk(&argvars[1], &error)) { + if (tv_get_bool_chk(&argvars[1], &error)) { options |= WILD_KEEP_ALL; } if (argvars[2].v_type != VAR_UNKNOWN) { - if (tv_get_number_chk(&argvars[2], &error)) { + if (tv_get_bool_chk(&argvars[2], &error)) { tv_list_set_ret(rettv, NULL); } if (argvars[3].v_type != VAR_UNKNOWN - && tv_get_number_chk(&argvars[3], &error)) { + && tv_get_bool_chk(&argvars[3], &error)) { options |= WILD_ALLLINKS; } } From b055504d41631dbb82db4e47a1ddeefaa2852929 Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Sat, 8 Aug 2026 00:22:39 -0400 Subject: [PATCH 4/6] vim-patch:8.2.1575: Vim9: globpath() doesnot take "true" as argument Problem: Vim9: globpath() doesnot take "true" as argument. Solution: Use tv_get_bool_chk(). (closes vim/vim#6821) https://github.com/vim/vim/commit/f966ce5ea24748eed10f708d4f828be44887a559 Co-authored-by: Bram Moolenaar --- src/nvim/eval/fs.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/nvim/eval/fs.c b/src/nvim/eval/fs.c index f272d3d7b9..b71b6613e5 100644 --- a/src/nvim/eval/fs.c +++ b/src/nvim/eval/fs.c @@ -981,16 +981,16 @@ void f_globpath(typval_T *argvars, typval_T *rettv, EvalFuncData fptr) if (argvars[2].v_type != VAR_UNKNOWN) { // When the optional second argument is non-zero, don't remove matches // for 'wildignore' and don't put matches for 'suffixes' at the end. - if (tv_get_number_chk(&argvars[2], &error)) { + if (tv_get_bool_chk(&argvars[2], &error)) { flags |= WILD_KEEP_ALL; } if (argvars[3].v_type != VAR_UNKNOWN) { - if (tv_get_number_chk(&argvars[3], &error)) { + if (tv_get_bool_chk(&argvars[3], &error)) { tv_list_set_ret(rettv, NULL); } if (argvars[4].v_type != VAR_UNKNOWN - && tv_get_number_chk(&argvars[4], &error)) { + && tv_get_bool_chk(&argvars[4], &error)) { flags |= WILD_ALLLINKS; } } From ecbae9911e9d0cfb80e780a0c55e151e78eed1d4 Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Sat, 8 Aug 2026 00:24:02 -0400 Subject: [PATCH 5/6] vim-patch:8.2.1576: Vim9: index() does not take "true" as argument Problem: Vim9: index() does not take "true" as argument. Solution: Use tv_get_bool_chk(). (closes vim/vim#6823) https://github.com/vim/vim/commit/6c553f9c04a698ac2e19584f8ea8e2cb7cd98c80 Co-authored-by: Bram Moolenaar --- src/nvim/eval/funcs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/nvim/eval/funcs.c b/src/nvim/eval/funcs.c index a1dcfb4fae..719b12b30c 100644 --- a/src/nvim/eval/funcs.c +++ b/src/nvim/eval/funcs.c @@ -2838,7 +2838,7 @@ static void f_index(typval_T *argvars, typval_T *rettv, EvalFuncData fptr) assert(item != NULL); } if (argvars[3].v_type != VAR_UNKNOWN) { - ic = !!tv_get_number_chk(&argvars[3], &error); + ic = !!tv_get_bool_chk(&argvars[3], &error); if (error) { item = NULL; } From 989726f3a691201f8a99f5688019da3868abedbe Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Sat, 8 Aug 2026 00:26:26 -0400 Subject: [PATCH 6/6] vim-patch:8.2.1577: Vim9: hasmapto()/mapcheck()/maparg() do nottake "true" arg Problem: Vim9: hasmapto(), mapcheck() and maparg() do not take "true" as argument. Solution: Use tv_get_bool(). (closes vim/vim#6822, closes vim/vim#6824) https://github.com/vim/vim/commit/04d594b9c14299ed50da0774fb8d3a10fbc4076f Co-authored-by: Bram Moolenaar --- src/nvim/mapping.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/nvim/mapping.c b/src/nvim/mapping.c index b034c0be46..f3381770cf 100644 --- a/src/nvim/mapping.c +++ b/src/nvim/mapping.c @@ -2072,7 +2072,7 @@ void f_hasmapto(typval_T *argvars, typval_T *rettv, EvalFuncData fptr) } else { mode = tv_get_string_buf(&argvars[1], buf); if (argvars[2].v_type != VAR_UNKNOWN) { - abbr = tv_get_number(&argvars[2]); + abbr = tv_get_bool(&argvars[2]); } } @@ -2164,9 +2164,9 @@ static void get_maparg(typval_T *argvars, typval_T *rettv, int exact) if (argvars[1].v_type != VAR_UNKNOWN) { which = tv_get_string_buf_chk(&argvars[1], buf); if (argvars[2].v_type != VAR_UNKNOWN) { - abbr = (bool)tv_get_number(&argvars[2]); + abbr = (bool)tv_get_bool(&argvars[2]); if (argvars[3].v_type != VAR_UNKNOWN) { - get_dict = (bool)tv_get_number(&argvars[3]); + get_dict = (bool)tv_get_bool(&argvars[3]); } } } else {