# HG changeset patch # User Bram Moolenaar # Date 1610047804 -3600 # Node ID 98185d3dd369803d7af051d16438b3e9e3cf579c # Parent ad34cd2fde1ebe0e37c83d48b52914ba93630db0 patch 8.2.2310: Vim9: winsaveview() return type is too generic Commit: https://github.com/vim/vim/commit/43b69b39acb85a2aab2310cba5a2dbac338a4eb9 Author: Bram Moolenaar Date: Thu Jan 7 20:23:33 2021 +0100 patch 8.2.2310: Vim9: winsaveview() return type is too generic Problem: Vim9: winsaveview() return type is too generic. Solution: use dict instead of dict. (closes https://github.com/vim/vim/issues/7626) diff --git a/src/evalfunc.c b/src/evalfunc.c --- 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 --- 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 = winsaveview() + + var lines =<< trim END + var view: list = winsaveview() + END + CheckDefAndScriptFailure(lines, 'E1012: Type mismatch; expected list but got dict', 1) +enddef + + " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker diff --git a/src/version.c b/src/version.c --- 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,