# HG changeset patch # User Bram Moolenaar # Date 1623791702 -7200 # Node ID 0c415a0f54f90852188357254ec2ceff8cd9dd55 # Parent 257de87388c35d87d964d4befeec1accc77da9ee patch 8.2.3007: Vim9: test for void value fails Commit: https://github.com/vim/vim/commit/61a417b7c1fe858d778c7c47f33f7b4dac19360d Author: Bram Moolenaar Date: Tue Jun 15 22:54:28 2021 +0200 patch 8.2.3007: Vim9: test for void value fails Problem: Vim9: test for void value fails. Solution: Adjust expected error. Do not make a copy of void. diff --git a/src/testdir/test_functions.vim b/src/testdir/test_functions.vim --- a/src/testdir/test_functions.vim +++ b/src/testdir/test_functions.vim @@ -86,13 +86,13 @@ func Test_empty() endfunc func Test_test_void() - call assert_fails('echo 1 == test_void()', 'E685:') + call assert_fails('echo 1 == test_void()', 'E1031:') if has('float') - call assert_fails('echo 1.0 == test_void()', 'E685:') + call assert_fails('echo 1.0 == test_void()', 'E1031:') endif call assert_fails('let x = json_encode(test_void())', 'E685:') call assert_fails('let x = copy(test_void())', 'E685:') - call assert_fails('let x = copy([test_void()])', 'E685:') + call assert_fails('let x = copy([test_void()])', 'E1031:') endfunc func Test_len() diff --git a/src/typval.c b/src/typval.c --- a/src/typval.c +++ b/src/typval.c @@ -591,7 +591,6 @@ copy_tv(typval_T *from, typval_T *to) case VAR_NUMBER: case VAR_BOOL: case VAR_SPECIAL: - case VAR_VOID: to->vval.v_number = from->vval.v_number; break; case VAR_FLOAT: @@ -664,6 +663,9 @@ copy_tv(typval_T *from, typval_T *to) ++to->vval.v_dict->dv_refcount; } break; + case VAR_VOID: + emsg(_(e_cannot_use_void_value)); + break; case VAR_UNKNOWN: case VAR_ANY: internal_error_no_abort("copy_tv(UNKNOWN)"); diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -751,6 +751,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 3007, +/**/ 3006, /**/ 3005,