]> granicus.if.org Git - vim/commitdiff
patch 8.2.1533: Vim9: error when passing getreginfo() result to setreg() v8.2.1533
authorBram Moolenaar <Bram@vim.org>
Fri, 28 Aug 2020 14:39:33 +0000 (16:39 +0200)
committerBram Moolenaar <Bram@vim.org>
Fri, 28 Aug 2020 14:39:33 +0000 (16:39 +0200)
Problem:    Vim9: error when passing getreginfo() result to setreg().
Solution:   Use dict_get_bool() for "isunnamed". (closes #6784)

src/evalfunc.c
src/testdir/test_vim9_func.vim
src/version.c

index fcfd4b10debe747d0722dc2cddac4c9c392d6b06..270dcd2cd49b3afb3167bb4150e953816410cb23 100644 (file)
@@ -7427,7 +7427,7 @@ f_setreg(typval_T *argvars, typval_T *rettv)
                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
index 412e4a6dc9fd96f8e7c910adac95dde66a922b8a..2c23a0e16e4c8d967c471f9e84be82addeedf46e 100644 (file)
@@ -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
index ba62765bc9211cf23a2da79ab31ec22bf9193472..e6299f413f57249dc37e1ff6e7a888524f5370e4 100644 (file)
@@ -754,6 +754,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1533,
 /**/
     1532,
 /**/