Mercurial > vim
changeset 21381:95e6fb6a5c86 v8.2.1241
patch 8.2.1241: cannot use getbufinfo() as a method
Commit: https://github.com/vim/vim/commit/6434fc574dfbde11461e70e5a62712370edf38e6
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jul 18 22:24:22 2020 +0200
patch 8.2.1241: cannot use getbufinfo() as a method
Problem: Cannot use getbufinfo() as a method.
Solution: Support using getbufinfo() as a method. (closes https://github.com/vim/vim/issues/6458)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 18 Jul 2020 22:30:04 +0200 |
parents | 17c6dd970b13 |
children | 22083c0131d2 |
files | runtime/doc/eval.txt src/evalfunc.c src/testdir/test_bufwintabinfo.vim src/version.c |
diffstat | 4 files changed, 11 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -4929,8 +4929,11 @@ getbufinfo([{dict}]) < To get buffer-local options use: > getbufvar({bufnr}, '&option_name') - -< +< + Can also be used as a |method|: > + GetBufnr()->getbufinfo() +< + *getbufline()* getbufline({expr}, {lnum} [, {end}]) Return a |List| with the lines starting from {lnum} to {end}
--- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -611,7 +611,7 @@ static funcentry_T global_functions[] = {"function", 1, 3, FEARG_1, ret_f_function, f_function}, {"garbagecollect", 0, 1, 0, ret_void, f_garbagecollect}, {"get", 2, 3, FEARG_1, ret_any, f_get}, - {"getbufinfo", 0, 1, 0, ret_list_dict_any, f_getbufinfo}, + {"getbufinfo", 0, 1, FEARG_1, ret_list_dict_any, f_getbufinfo}, {"getbufline", 2, 3, FEARG_1, ret_list_string, f_getbufline}, {"getbufvar", 2, 3, FEARG_1, ret_any, f_getbufvar}, {"getchangelist", 0, 1, FEARG_1, ret_list_any, f_getchangelist},
--- a/src/testdir/test_bufwintabinfo.vim +++ b/src/testdir/test_bufwintabinfo.vim @@ -23,6 +23,9 @@ func Test_getbufwintabinfo() call assert_equal('vim', l[0].variables.editor) call assert_notequal(-1, index(l[0].windows, '%'->bufwinid())) + let l = '%'->getbufinfo() + call assert_equal(bufnr('%'), l[0].bufnr) + " Test for getbufinfo() with 'bufmodified' call assert_equal(0, len(getbufinfo({'bufmodified' : 1}))) call setbufline('Xtestfile1', 1, ["Line1"])