summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-11-24 11:31:29 +0000
committerBram Moolenaar <Bram@vim.org>2022-11-24 11:31:29 +0000
commit82946e1439d31e86dfeb6166415c73e70475cce2 (patch)
treefab663683e6226c49f6b6c94d1360defc9b05b26
parent24482fbfd599d2273c48951df7d00d62f3e66c85 (diff)
patch 9.0.0936: wrong type for "isunnamed" returned by getreginfo()v9.0.0936
Problem: Wrong type for "isunnamed" returned by getreginfo(). Solution: Use VAR_BOOL instead of VAR_SPECIAL. (closes #11598)
-rw-r--r--src/evalfunc.c2
-rw-r--r--src/testdir/test_registers.vim7
-rw-r--r--src/version.c2
3 files changed, 10 insertions, 1 deletions
diff --git a/src/evalfunc.c b/src/evalfunc.c
index e4f28edb75..112a2e70b8 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -8415,7 +8415,7 @@ f_getreginfo(typval_T *argvars, typval_T *rettv)
if (item != NULL)
{
- item->di_tv.v_type = VAR_SPECIAL;
+ item->di_tv.v_type = VAR_BOOL;
item->di_tv.vval.v_number = regname == buf[0]
? VVAL_TRUE : VVAL_FALSE;
(void)dict_add(dict, item);
diff --git a/src/testdir/test_registers.vim b/src/testdir/test_registers.vim
index 35bd1e0a3d..e966932478 100644
--- a/src/testdir/test_registers.vim
+++ b/src/testdir/test_registers.vim
@@ -520,6 +520,13 @@ func Test_get_reginfo()
nunmap <F2>
unlet g:RegInfo
+ " The type of "isunnamed" was VAR_SPECIAL but should be VAR_BOOL. Can only
+ " be noticed when using json_encod().
+ call setreg('a', 'foo')
+ let reginfo = getreginfo('a')
+ let expected = #{regcontents: ['foo'], isunnamed: v:false, regtype: 'v'}
+ call assert_equal(json_encode(expected), json_encode(reginfo))
+
bwipe!
endfunc
diff --git a/src/version.c b/src/version.c
index 42a7e46b6c..d7c6ef1e86 100644
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 936,
+/**/
935,
/**/
934,