changeset 22039:f040df1bd219 v8.2.1569

patch 8.2.1569: Vim9: fixes not tested; failure in getchangelist() Commit: https://github.com/vim/vim/commit/a5d3841177e0b3545381c875d0b4b442f38784bd Author: Bram Moolenaar <Bram@vim.org> 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)
author Bram Moolenaar <Bram@vim.org>
date Wed, 02 Sep 2020 21:15:03 +0200
parents 66bf9f157c04
children 48f41fa3a819
files src/evalfunc.c src/testdir/test_vim9_func.vim src/version.c
diffstat 3 files changed, 36 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- 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;
 
--- 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')
--- 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,