# HG changeset patch # User Bram Moolenaar # Date 1599074103 -7200 # Node ID f040df1bd21988d81dfd53573763c3f146820de5 # Parent 66bf9f157c0449e157fe497debf10503ee357369 patch 8.2.1569: Vim9: fixes not tested; failure in getchangelist() Commit: https://github.com/vim/vim/commit/a5d3841177e0b3545381c875d0b4b442f38784bd Author: Bram Moolenaar Date: Wed Sep 2 21:02:35 2020 +0200 patch 8.2.1569: Vim9: fixes not tested; failure in getchangelist() Problem: Vim9: fixes for functions not tested; failure in getchangelist(). Solution: Add tests. (closes https://github.com/vim/vim/issues/6813, closes https://github.com/vim/vim/issues/6815, closes https://github.com/vim/vim/issues/6817) diff --git a/src/evalfunc.c b/src/evalfunc.c --- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -3081,12 +3081,7 @@ f_getchangelist(typval_T *argvars, typva if (argvars[0].v_type == VAR_UNKNOWN) buf = curbuf; else - { - (void)tv_get_number(&argvars[0]); // issue errmsg if type error - ++emsg_off; - buf = tv_get_buf(&argvars[0], FALSE); - --emsg_off; - } + buf = tv_get_buf_from_arg(&argvars[0]); if (buf == NULL) return; diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim --- a/src/testdir/test_vim9_func.vim +++ b/src/testdir/test_vim9_func.vim @@ -1431,6 +1431,39 @@ def Test_setbufvar() assert_equal(123, getbufvar('%', 'myvar')) enddef +def Test_bufwinid() + let origwin = win_getid() + below split SomeFile + let SomeFileID = win_getid() + below split OtherFile + below split SomeFile + assert_equal(SomeFileID, bufwinid('SomeFile')) + + win_gotoid(origwin) + only + bwipe SomeFile + bwipe OtherFile +enddef + +def Test_getbufline() + e SomeFile + let buf = bufnr() + e # + let lines = ['aaa', 'bbb', 'ccc'] + setbufline(buf, 1, lines) + assert_equal(lines, getbufline('#', 1, '$')) + + bwipe! +enddef + +def Test_getchangelist() + new + setline(1, 'some text') + let changelist = bufnr()->getchangelist() + assert_equal(changelist, getchangelist('%')) + bwipe! +enddef + def Test_setreg() setreg('a', ['aaa', 'bbb', 'ccc']) let reginfo = getreginfo('a') diff --git a/src/version.c b/src/version.c --- 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 */ /**/ + 1569, +/**/ 1568, /**/ 1567,