]> granicus.if.org Git - vim/commitdiff
patch 8.2.3007: Vim9: test for void value fails v8.2.3007
authorBram Moolenaar <Bram@vim.org>
Tue, 15 Jun 2021 20:54:28 +0000 (22:54 +0200)
committerBram Moolenaar <Bram@vim.org>
Tue, 15 Jun 2021 20:54:28 +0000 (22:54 +0200)
Problem:    Vim9: test for void value fails.
Solution:   Adjust expected error.  Do not make a copy of void.

src/testdir/test_functions.vim
src/typval.c
src/version.c

index d63bec498e0733afbf6a4b54bbb6dae0fe268e81..4d4450d980557c439d4569922d707bc5075a7b0f 100644 (file)
@@ -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()
index b19140d445d4d6581a6fad9d59a217da640c5c94..21ecd87d049b213c286361c4ff7e3170b9dbde16 100644 (file)
@@ -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)");
index caba20ae3680e39283ca41b4d14a3bb2004effc6..67330fcadc888a986bdd49eedf4d3ada513f094c 100644 (file)
@@ -750,6 +750,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    3007,
 /**/
     3006,
 /**/