Mercurial > vim
changeset 31205:83b25278bac3 v9.0.0936
patch 9.0.0936: wrong type for "isunnamed" returned by getreginfo()
Commit: https://github.com/vim/vim/commit/82946e1439d31e86dfeb6166415c73e70475cce2
Author: Bram Moolenaar <Bram@vim.org>
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)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 24 Nov 2022 12:45:03 +0100 |
parents | 64244fdfa114 |
children | 6d7b4f9cdc14 |
files | src/evalfunc.c src/testdir/test_registers.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 @@ -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);
--- 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