summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2021-01-07 20:23:33 +0100
committerBram Moolenaar <Bram@vim.org>2021-01-07 20:23:33 +0100
commit43b69b39acb85a2aab2310cba5a2dbac338a4eb9 (patch)
treed6b8a3ca1e04ed32814caf9bbc596dd5f48329c8
parentc37b655443e0a11a77a9f0707e3259ab4b8b3dda (diff)
patch 8.2.2310: Vim9: winsaveview() return type is too genericv8.2.2310
Problem: Vim9: winsaveview() return type is too generic. Solution: use dict<number> instead of dict<any>. (closes #7626)
-rw-r--r--src/evalfunc.c2
-rw-r--r--src/testdir/test_vim9_builtin.vim10
-rw-r--r--src/version.c2
3 files changed, 13 insertions, 1 deletions
diff --git a/src/evalfunc.c b/src/evalfunc.c
index ed9f06fed4..098d906ecf 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -1753,7 +1753,7 @@ static funcentry_T global_functions[] =
{"winrestview", 1, 1, FEARG_1, NULL,
ret_void, f_winrestview},
{"winsaveview", 0, 0, 0, NULL,
- ret_dict_any, f_winsaveview},
+ ret_dict_number, f_winsaveview},
{"winwidth", 1, 1, FEARG_1, NULL,
ret_number, f_winwidth},
{"wordcount", 0, 0, 0, NULL,
diff --git a/src/testdir/test_vim9_builtin.vim b/src/testdir/test_vim9_builtin.vim
index 4eb2d76dfd..7aef315dc8 100644
--- a/src/testdir/test_vim9_builtin.vim
+++ b/src/testdir/test_vim9_builtin.vim
@@ -786,6 +786,16 @@ def Test_winrestcmd()
close
enddef
+def Test_winsaveview()
+ var view: dict<number> = winsaveview()
+
+ var lines =<< trim END
+ var view: list<number> = winsaveview()
+ END
+ CheckDefAndScriptFailure(lines, 'E1012: Type mismatch; expected list<number> but got dict<number>', 1)
+enddef
+
+
" vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker
diff --git a/src/version.c b/src/version.c
index f4a1d58c81..0d9816bc91 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2310,
+/**/
2309,
/**/
2308,