aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/nvim/eval.c5
-rw-r--r--src/nvim/testdir/test_changelist.vim6
2 files changed, 7 insertions, 4 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index 7229b2f977..de510a8bca 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -9551,7 +9551,10 @@ f_getbufvar_end:
static void f_getchangelist(typval_T *argvars, typval_T *rettv, FunPtr fptr)
{
tv_list_alloc_ret(rettv, 2);
- const buf_T *const buf = find_buffer(&argvars[0]);
+ vim_ignored = tv_get_number(&argvars[0]); // issue errmsg if type error
+ emsg_off++;
+ const buf_T *const buf = tv_get_buf(&argvars[0], false);
+ emsg_off--;
if (buf == NULL) {
return;
}
diff --git a/src/nvim/testdir/test_changelist.vim b/src/nvim/testdir/test_changelist.vim
index 0880fce840..dd6ea9600c 100644
--- a/src/nvim/testdir/test_changelist.vim
+++ b/src/nvim/testdir/test_changelist.vim
@@ -9,7 +9,7 @@ func Test_getchangelist()
bwipe!
enew
call assert_equal([], getchangelist(10))
- call assert_equal([[], 0], getchangelist(bufnr('%')))
+ call assert_equal([[], 0], getchangelist('%'))
call writefile(['line1', 'line2', 'line3'], 'Xfile1.txt')
call writefile(['line1', 'line2', 'line3'], 'Xfile2.txt')
@@ -23,7 +23,7 @@ func Test_getchangelist()
\ {'lnum' : 2, 'col' : 4, 'coladd' : 0},
\ {'lnum' : 4, 'col' : 4, 'coladd' : 0},
\ {'lnum' : 6, 'col' : 4, 'coladd' : 0}], 2],
- \ getchangelist(bufnr('%')))
+ \ getchangelist('%'))
hide edit Xfile2.txt
exe "normal 1GOline\<C-G>u1.0"
@@ -31,7 +31,7 @@ func Test_getchangelist()
call assert_equal([[
\ {'lnum' : 1, 'col' : 6, 'coladd' : 0},
\ {'lnum' : 3, 'col' : 6, 'coladd' : 0}], 2],
- \ getchangelist(bufnr('%')))
+ \ getchangelist('%'))
hide enew
call assert_equal([[