patch 8.2.0103: using null object with execute() has strange effects
Problem: Using null object with execute() has strange effects.
Solution: Give an error message ofr Job and Channel.
diff --git a/src/testdir/test_execute_func.vim b/src/testdir/test_execute_func.vim
index 7934e60..30dcb62 100644
--- a/src/testdir/test_execute_func.vim
+++ b/src/testdir/test_execute_func.vim
@@ -38,8 +38,6 @@
call assert_equal("\nsomething", execute('echo "something"', 'silent!'))
call assert_equal("", execute('burp', 'silent!'))
call assert_fails('call execute("echo \"x\"", 3.4)', 'E806:')
-
- call assert_equal("", execute(test_null_string()))
endfunc
func Test_execute_list()
@@ -50,7 +48,6 @@
call assert_equal("\n0\n1\n2\n3", execute(l))
call assert_equal("", execute([]))
- call assert_equal("", execute(test_null_list()))
endfunc
func Test_execute_does_not_change_col()
@@ -132,3 +129,15 @@
tabclose
unlet xyz
endfunc
+
+func Test_execute_null()
+ call assert_equal("", execute(test_null_string()))
+ call assert_equal("", execute(test_null_list()))
+ call assert_fails('call execute(test_null_dict())', 'E731:')
+ call assert_fails('call execute(test_null_blob())', 'E976:')
+ call assert_fails('call execute(test_null_partial())','E729:')
+ if has('job')
+ call assert_fails('call execute(test_null_job())', 'E908:')
+ call assert_fails('call execute(test_null_channel())', 'E908:')
+ endif
+endfunc