From: Bram Moolenaar Date: Tue, 15 Jun 2021 20:54:28 +0000 (+0200) Subject: patch 8.2.3007: Vim9: test for void value fails X-Git-Tag: v8.2.3007 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=61a417b7c1fe858d778c7c47f33f7b4dac19360d;p=vim 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 index d63bec498..4d4450d98 100644 --- 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 index b19140d44..21ecd87d0 100644 --- 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 index caba20ae3..67330fcad 100644 --- a/src/version.c +++ b/src/version.c @@ -750,6 +750,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 3007, /**/ 3006, /**/