diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-09-05 17:37:07 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-09-05 17:37:07 +0200 |
commit | 036c2cf719e3de445779a275514030be66e26883 (patch) | |
tree | 419d8eda79525cbcc938423cca698e9b9206af92 /src | |
parent | 2df47310422f4a77e85de7901a5299923a1addd3 (diff) | |
download | vim-git-036c2cf719e3de445779a275514030be66e26883.tar.gz |
patch 8.2.1602: Vim9: cannot use 'true" with getbufinfo()v8.2.1602
Problem: Vim9: cannot use 'true" with getbufinfo().
Solution: Use dict_get_bool(). (closes #6873)
Diffstat (limited to 'src')
-rw-r--r-- | src/evalbuffer.c | 18 | ||||
-rw-r--r-- | src/testdir/test_vim9_func.vim | 9 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 14 insertions, 15 deletions
diff --git a/src/evalbuffer.c b/src/evalbuffer.c index 4ca68c8bb..34155b9cb 100644 --- a/src/evalbuffer.c +++ b/src/evalbuffer.c @@ -624,21 +624,11 @@ f_getbufinfo(typval_T *argvars, typval_T *rettv) if (sel_d != NULL) { - dictitem_T *di; - filtered = TRUE; - - di = dict_find(sel_d, (char_u *)"buflisted", -1); - if (di != NULL && tv_get_number(&di->di_tv)) - sel_buflisted = TRUE; - - di = dict_find(sel_d, (char_u *)"bufloaded", -1); - if (di != NULL && tv_get_number(&di->di_tv)) - sel_bufloaded = TRUE; - - di = dict_find(sel_d, (char_u *)"bufmodified", -1); - if (di != NULL && tv_get_number(&di->di_tv)) - sel_bufmodified = TRUE; + sel_buflisted = dict_get_bool(sel_d, (char_u *)"buflisted", FALSE); + sel_bufloaded = dict_get_bool(sel_d, (char_u *)"bufloaded", FALSE); + sel_bufmodified = dict_get_bool(sel_d, (char_u *)"bufmodified", + FALSE); } } else if (argvars[0].v_type != VAR_UNKNOWN) diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim index 7cc323c1e..7303db997 100644 --- a/src/testdir/test_vim9_func.vim +++ b/src/testdir/test_vim9_func.vim @@ -1493,9 +1493,16 @@ def Test_bufname() close enddef -def Test_gebufinfo() +def Test_getbufinfo() let bufinfo = getbufinfo(bufnr()) assert_equal(bufinfo, getbufinfo('%')) + + edit Xtestfile1 + hide edit Xtestfile2 + hide enew + getbufinfo(#{bufloaded: true, buflisted: true, bufmodified: false}) + ->len()->assert_equal(3) + bwipe Xtestfile1 Xtestfile2 enddef def Fibonacci(n: number): number diff --git a/src/version.c b/src/version.c index ab9c0c41d..9a58f113c 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 */ /**/ + 1602, +/**/ 1601, /**/ 1600, |