summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-09-02 21:02:35 +0200
committerBram Moolenaar <Bram@vim.org>2020-09-02 21:02:35 +0200
commita5d3841177e0b3545381c875d0b4b442f38784bd (patch)
tree548f839d40bb33e4f02b342610439754c82d448d
parent4da7a259f6b28a4f855a6fa7d0ede5e038600154 (diff)
downloadvim-git-a5d3841177e0b3545381c875d0b4b442f38784bd.tar.gz
patch 8.2.1569: Vim9: fixes not tested; failure in getchangelist()v8.2.1569
Problem: Vim9: fixes for functions not tested; failure in getchangelist(). Solution: Add tests. (closes #6813, closes #6815, closes #6817)
-rw-r--r--src/evalfunc.c7
-rw-r--r--src/testdir/test_vim9_func.vim33
-rw-r--r--src/version.c2
3 files changed, 36 insertions, 6 deletions
diff --git a/src/evalfunc.c b/src/evalfunc.c
index fff7a89a9..771e393db 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -3081,12 +3081,7 @@ f_getchangelist(typval_T *argvars, typval_T *rettv)
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
index 09c84576d..480a9a5a7 100644
--- 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
index 840c32535..6d97899c0 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 */
/**/
+ 1569,
+/**/
1568,
/**/
1567,