# HG changeset patch # User Bram Moolenaar # Date 1669290303 -3600 # Node ID 83b25278bac34a8912fa32e523566ae206b5e471 # Parent 64244fdfa1142d6418e734bc0038b52c9d5da1ee patch 9.0.0936: wrong type for "isunnamed" returned by getreginfo() Commit: https://github.com/vim/vim/commit/82946e1439d31e86dfeb6166415c73e70475cce2 Author: Bram Moolenaar Date: Thu Nov 24 11:31:29 2022 +0000 patch 9.0.0936: wrong type for "isunnamed" returned by getreginfo() Problem: Wrong type for "isunnamed" returned by getreginfo(). Solution: Use VAR_BOOL instead of VAR_SPECIAL. (closes https://github.com/vim/vim/issues/11598) diff --git a/src/evalfunc.c b/src/evalfunc.c --- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -8415,7 +8415,7 @@ f_getreginfo(typval_T *argvars, typval_T 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 --- a/src/testdir/test_registers.vim +++ b/src/testdir/test_registers.vim @@ -520,6 +520,13 @@ func Test_get_reginfo() nunmap 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 --- 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,