Mercurial > vim
changeset 21967:bf68435a695a v8.2.1533
patch 8.2.1533: Vim9: error when passing getreginfo() result to setreg()
Commit: https://github.com/vim/vim/commit/6a950581da52b410a74531044aae8f1f8f38a7df
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Aug 28 16:39:33 2020 +0200
patch 8.2.1533: Vim9: error when passing getreginfo() result to setreg()
Problem: Vim9: error when passing getreginfo() result to setreg().
Solution: Use dict_get_bool() for "isunnamed". (closes https://github.com/vim/vim/issues/6784)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 28 Aug 2020 16:45:04 +0200 |
parents | 714c6d513c49 |
children | 613ecf205d6a |
files | src/evalfunc.c src/testdir/test_vim9_func.vim src/version.c |
diffstat | 3 files changed, 10 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -7427,7 +7427,7 @@ f_setreg(typval_T *argvars, typval_T *re regname = pointreg; } } - else if (dict_get_number(d, (char_u *)"isunnamed")) + else if (dict_get_bool(d, (char_u *)"isunnamed", -1) > 0) pointreg = regname; } else
--- a/src/testdir/test_vim9_func.vim +++ b/src/testdir/test_vim9_func.vim @@ -1419,6 +1419,13 @@ def Test_setbufvar() setlocal ts=8 enddef +def Test_setreg() + setreg('a', ['aaa', 'bbb', 'ccc']) + let reginfo = getreginfo('a') + setreg('a', reginfo) + assert_equal(reginfo, getreginfo('a')) +enddef + def Fibonacci(n: number): number if n < 2 return n