patch 9.0.0335: checks for Dictionary argument often give a vague error
Problem: Checks for Dictionary argument often give a vague error message.
Solution: Give a useful error message. (Yegappan Lakshmanan, closes #11009)
diff --git a/src/testdir/test_channel.vim b/src/testdir/test_channel.vim
index 9f60bbc..6b595d0 100644
--- a/src/testdir/test_channel.vim
+++ b/src/testdir/test_channel.vim
@@ -1509,7 +1509,7 @@
call assert_fails("let ch = ch_open('noserver')", 'E475:')
echo ch
let d = ch
- call assert_fails("let ch = ch_open('noserver', 10)", 'E474:')
+ call assert_fails("let ch = ch_open('noserver', 10)", 'E1206:')
call assert_fails("let ch = ch_open('localhost:-1')", 'E475:')
call assert_fails("let ch = ch_open('localhost:65537')", 'E475:')
call assert_fails("let ch = ch_open('localhost:8765', {'timeout' : -1})",
diff --git a/src/testdir/test_charsearch.vim b/src/testdir/test_charsearch.vim
index 06b8ff6..142e6c8 100644
--- a/src/testdir/test_charsearch.vim
+++ b/src/testdir/test_charsearch.vim
@@ -39,7 +39,7 @@
call setcharsearch({'char' : ''})
call assert_equal('', getcharsearch().char)
- call assert_fails("call setcharsearch([])", 'E715:')
+ call assert_fails("call setcharsearch([])", 'E1206:')
enew!
endfunc
diff --git a/src/testdir/test_expr.vim b/src/testdir/test_expr.vim
index 78d5919..3cd2a0d 100644
--- a/src/testdir/test_expr.vim
+++ b/src/testdir/test_expr.vim
@@ -113,7 +113,7 @@
END
call v9.CheckLegacyAndVim9Success(lines)
- call v9.CheckLegacyAndVim9Failure(["VAR i = has_key([], 'a')"], ['E715:', 'E1013:', 'E1206:'])
+ call v9.CheckLegacyAndVim9Failure(["VAR i = has_key([], 'a')"], ['E1206:', 'E1013:', 'E1206:'])
endfunc
func Test_strgetchar()
diff --git a/src/testdir/test_functions.vim b/src/testdir/test_functions.vim
index b17a60d..971be40 100644
--- a/src/testdir/test_functions.vim
+++ b/src/testdir/test_functions.vim
@@ -2294,7 +2294,7 @@
endfunction
let mydict = {'data': [0, 1, 2, 3], 'len': function("Mylen")}
eval mydict.len->call([], mydict)->assert_equal(4)
- call assert_fails("call call('Mylen', [], 0)", 'E715:')
+ call assert_fails("call call('Mylen', [], 0)", 'E1206:')
call assert_fails('call foo', 'E107:')
" These once caused a crash.
diff --git a/src/testdir/test_listdict.vim b/src/testdir/test_listdict.vim
index 89c4243..154aa98 100644
--- a/src/testdir/test_listdict.vim
+++ b/src/testdir/test_listdict.vim
@@ -981,7 +981,7 @@
call assert_fails('call reverse("")', 'E899:')
call assert_fails('call uniq([1, 2], {x, y -> []})', 'E745:')
- call assert_fails("call sort([1, 2], function('min'), 1)", "E715:")
+ call assert_fails("call sort([1, 2], function('min'), 1)", "E1206:")
call assert_fails("call sort([1, 2], function('invalid_func'))", "E700:")
call assert_fails("call sort([1, 2], function('min'))", "E118:")
diff --git a/src/testdir/test_map_functions.vim b/src/testdir/test_map_functions.vim
index d8c079c..79321a0 100644
--- a/src/testdir/test_map_functions.vim
+++ b/src/testdir/test_map_functions.vim
@@ -273,7 +273,7 @@
bwipe!
call assert_fails('call mapset([], v:false, {})', 'E730:')
- call assert_fails('call mapset("i", 0, "")', 'E715:')
+ call assert_fails('call mapset("i", 0, "")', 'E1206:')
call assert_fails('call mapset("i", 0, {})', 'E460:')
endfunc
diff --git a/src/testdir/test_matchfuzzy.vim b/src/testdir/test_matchfuzzy.vim
index 26fe04d..502d136 100644
--- a/src/testdir/test_matchfuzzy.vim
+++ b/src/testdir/test_matchfuzzy.vim
@@ -67,14 +67,14 @@
call assert_equal([{'id' : 6, 'val' : 'camera'}], matchfuzzy(l, 'cam', {'key' : 'val'}))
call assert_equal([], matchfuzzy(l, 'day', {'text_cb' : {v -> v.val}}))
call assert_equal([], matchfuzzy(l, 'day', {'key' : 'val'}))
- call assert_fails("let x = matchfuzzy(l, 'cam', 'random')", 'E715:')
+ call assert_fails("let x = matchfuzzy(l, 'cam', 'random')", 'E1206:')
call assert_equal([], matchfuzzy(l, 'day', {'text_cb' : {v -> []}}))
call assert_equal([], matchfuzzy(l, 'day', {'text_cb' : {v -> 1}}))
call assert_fails("let x = matchfuzzy(l, 'day', {'text_cb' : {a, b -> 1}})", 'E119:')
call assert_equal([], matchfuzzy(l, 'cam'))
call assert_fails("let x = matchfuzzy(l, 'cam', {'text_cb' : []})", 'E921:')
call assert_fails("let x = matchfuzzy(l, 'foo', {'key' : []})", 'E730:')
- call assert_fails("let x = matchfuzzy(l, 'cam', test_null_dict())", 'E715:')
+ call assert_fails("let x = matchfuzzy(l, 'cam', test_null_dict())", 'E1297:')
call assert_fails("let x = matchfuzzy(l, 'foo', {'key' : test_null_string()})", 'E475:')
call assert_fails("let x = matchfuzzy(l, 'foo', {'text_cb' : test_null_function()})", 'E475:')
" matches with same score should not be reordered
@@ -140,14 +140,14 @@
\ matchfuzzypos(l, 'cam', {'key' : 'val'}))
call assert_equal([[], [], []], matchfuzzypos(l, 'day', {'text_cb' : {v -> v.val}}))
call assert_equal([[], [], []], matchfuzzypos(l, 'day', {'key' : 'val'}))
- call assert_fails("let x = matchfuzzypos(l, 'cam', 'random')", 'E715:')
+ call assert_fails("let x = matchfuzzypos(l, 'cam', 'random')", 'E1206:')
call assert_equal([[], [], []], matchfuzzypos(l, 'day', {'text_cb' : {v -> []}}))
call assert_equal([[], [], []], matchfuzzypos(l, 'day', {'text_cb' : {v -> 1}}))
call assert_fails("let x = matchfuzzypos(l, 'day', {'text_cb' : {a, b -> 1}})", 'E119:')
call assert_equal([[], [], []], matchfuzzypos(l, 'cam'))
call assert_fails("let x = matchfuzzypos(l, 'cam', {'text_cb' : []})", 'E921:')
call assert_fails("let x = matchfuzzypos(l, 'foo', {'key' : []})", 'E730:')
- call assert_fails("let x = matchfuzzypos(l, 'cam', test_null_dict())", 'E715:')
+ call assert_fails("let x = matchfuzzypos(l, 'cam', test_null_dict())", 'E1297:')
call assert_fails("let x = matchfuzzypos(l, 'foo', {'key' : test_null_string()})", 'E475:')
call assert_fails("let x = matchfuzzypos(l, 'foo', {'text_cb' : test_null_function()})", 'E475:')
diff --git a/src/testdir/test_partial.vim b/src/testdir/test_partial.vim
index 392527f..4b054b5 100644
--- a/src/testdir/test_partial.vim
+++ b/src/testdir/test_partial.vim
@@ -88,7 +88,7 @@
call assert_equal("Hello", dict.tr())
call assert_fails("let F=function('setloclist', 10)", "E923:")
- call assert_fails("let F=function('setloclist', [], [])", "E922:")
+ call assert_fails("let F=function('setloclist', [], [])", "E1206:")
endfunc
func Test_partial_implicit()
diff --git a/src/testdir/test_popupwin.vim b/src/testdir/test_popupwin.vim
index 3a0f876..a92bd8b 100644
--- a/src/testdir/test_popupwin.vim
+++ b/src/testdir/test_popupwin.vim
@@ -1035,7 +1035,7 @@
func Test_popup_invalid_arguments()
call assert_fails('call popup_create(666, {})', 'E86:')
call popup_clear()
- call assert_fails('call popup_create("text", "none")', 'E715:')
+ call assert_fails('call popup_create("text", "none")', 'E1206:')
call popup_clear()
call assert_fails('call popup_create(test_null_string(), {})', 'E450:')
call assert_fails('call popup_create(test_null_list(), {})', 'E450:')
@@ -1309,8 +1309,8 @@
let line = join(map(range(1, 6), 'screenstring(1, v:val)'), '')
call assert_equal('hworld', line)
- call assert_fails('call popup_move(winid, [])', 'E715:')
- call assert_fails('call popup_move(winid, test_null_dict())', 'E715:')
+ call assert_fails('call popup_move(winid, [])', 'E1206:')
+ call assert_fails('call popup_move(winid, test_null_dict())', 'E1297:')
call popup_close(winid)
@@ -2577,8 +2577,8 @@
call assert_equal(1, options.drag)
call assert_equal('Another', options.highlight)
- call assert_fails('call popup_setoptions(winid, [])', 'E715:')
- call assert_fails('call popup_setoptions(winid, test_null_dict())', 'E715:')
+ call assert_fails('call popup_setoptions(winid, [])', 'E1206:')
+ call assert_fails('call popup_setoptions(winid, test_null_dict())', 'E1297:')
call popup_close(winid)
call assert_equal(0, popup_setoptions(winid, options.wrap))
diff --git a/src/testdir/test_search_stat.vim b/src/testdir/test_search_stat.vim
index e0820e4..71e050c 100644
--- a/src/testdir/test_search_stat.vim
+++ b/src/testdir/test_search_stat.vim
@@ -259,7 +259,7 @@
endfunc
func Test_searchcount_fails()
- call assert_fails('echo searchcount("boo!")', 'E715:')
+ call assert_fails('echo searchcount("boo!")', 'E1206:')
call assert_fails('echo searchcount({"timeout" : []})', 'E745:')
call assert_fails('echo searchcount({"maxcount" : []})', 'E745:')
call assert_fails('echo searchcount({"pattern" : []})', 'E730:')
diff --git a/src/testdir/test_signs.vim b/src/testdir/test_signs.vim
index 77bb049..e23d9ac 100644
--- a/src/testdir/test_signs.vim
+++ b/src/testdir/test_signs.vim
@@ -449,7 +449,7 @@
call assert_fails('call sign_define("sign4", {"text" : "===>"})', 'E239:')
call assert_fails('call sign_define("sign5", {"text" : ""})', 'E239:')
call assert_fails('call sign_define({})', 'E731:')
- call assert_fails('call sign_define("sign6", [])', 'E715:')
+ call assert_fails('call sign_define("sign6", [])', 'E1206:')
" Tests for sign_getdefined()
call assert_equal([], sign_getdefined("none"))
@@ -476,8 +476,7 @@
" Tests for invalid arguments to sign_place()
call assert_fails('call sign_place([], "", "mySign", 1)', 'E745:')
call assert_fails('call sign_place(5, "", "mySign", -1)', 'E158:')
- call assert_fails('call sign_place(-1, "", "sign1", "Xsign", [])',
- \ 'E715:')
+ call assert_fails('call sign_place(-1, "", "sign1", "Xsign", [])', 'E1206:')
call assert_fails('call sign_place(-1, "", "sign1", "Xsign",
\ {"lnum" : 30})', 'E474:')
call assert_fails('call sign_place(10, "", "xsign1x", "Xsign",
@@ -512,7 +511,7 @@
call assert_fails("call sign_getplaced('dummy.sign')", 'E158:')
call assert_fails('call sign_getplaced("&")', 'E158:')
call assert_fails('call sign_getplaced(-1)', 'E158:')
- call assert_fails('call sign_getplaced("Xsign", [])', 'E715:')
+ call assert_fails('call sign_getplaced("Xsign", [])', 'E1206:')
call assert_equal([{'bufnr' : bufnr(''), 'signs' : []}],
\ sign_getplaced('Xsign', {'lnum' : 1000000}))
call assert_fails("call sign_getplaced('Xsign', {'lnum' : []})",
@@ -535,7 +534,7 @@
\ {'id' : 20, 'buffer' : '&'})", 'E158:')
call assert_fails("call sign_unplace('g1',
\ {'id' : 20, 'buffer' : 200})", 'E158:')
- call assert_fails("call sign_unplace('g1', 'mySign')", 'E715:')
+ call assert_fails("call sign_unplace('g1', 'mySign')", 'E1206:')
call sign_unplace('*')
@@ -1554,8 +1553,7 @@
\ s[0].signs)
" Error case
- call assert_fails("call sign_place(1, 'g1', 'sign1', 'Xsign',
- \ [])", 'E715:')
+ call assert_fails("call sign_place(1, 'g1', 'sign1', 'Xsign', [])", 'E1206:')
call assert_fails("call sign_place(1, 'g1', 'sign1', 'Xsign',
\ {'priority' : []})", 'E745:')
call sign_unplace('*')
diff --git a/src/testdir/test_tagjump.vim b/src/testdir/test_tagjump.vim
index 060cc3b..cca907f 100644
--- a/src/testdir/test_tagjump.vim
+++ b/src/testdir/test_tagjump.vim
@@ -403,7 +403,7 @@
" Error cases
call assert_equal({}, gettagstack(100))
call assert_equal(-1, settagstack(100, {'items' : []}))
- call assert_fails('call settagstack(1, [1, 10])', 'E715:')
+ call assert_fails('call settagstack(1, [1, 10])', 'E1206:')
call assert_fails("call settagstack(1, {'items' : 10})", 'E714:')
call assert_fails("call settagstack(1, {'items' : []}, 10)", 'E928:')
call assert_fails("call settagstack(1, {'items' : []}, 'b')", 'E962:')
diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim
index c398bb0..d325f19 100644
--- a/src/testdir/test_terminal.vim
+++ b/src/testdir/test_terminal.vim
@@ -1453,7 +1453,7 @@
call assert_fails("call term_dumpwrite({}, 'Xtest.dump')", 'E728:')
let buf = RunVimInTerminal('', {})
call TermWait(buf)
- call assert_fails("call term_dumpwrite(buf, 'Xtest.dump', '')", 'E715:')
+ call assert_fails("call term_dumpwrite(buf, 'Xtest.dump', '')", 'E1206:')
call assert_fails("call term_dumpwrite(buf, [])", 'E730:')
call writefile([], 'Xtest.dump')
call assert_fails("call term_dumpwrite(buf, 'Xtest.dump')", 'E953:')
diff --git a/src/testdir/test_textprop.vim b/src/testdir/test_textprop.vim
index 7a2fcf6..34fa6c9 100644
--- a/src/testdir/test_textprop.vim
+++ b/src/testdir/test_textprop.vim
@@ -1679,14 +1679,14 @@
func Test_prop_func_invalid_args()
call assert_fails('call prop_clear(1, 2, [])', 'E715:')
call assert_fails('call prop_clear(-1, 2)', 'E16:')
- call assert_fails('call prop_find(test_null_dict())', 'E715:')
+ call assert_fails('call prop_find(test_null_dict())', 'E1297:')
call assert_fails('call prop_find({"bufnr" : []})', 'E730:')
call assert_fails('call prop_find({})', 'E968:')
call assert_fails('call prop_find({}, "x")', 'E474:')
call assert_fails('call prop_find({"lnum" : -2})', 'E16:')
- call assert_fails('call prop_list(1, [])', 'E715:')
+ call assert_fails('call prop_list(1, [])', 'E1206:')
call assert_fails('call prop_list(-1, {})', 'E16:')
- call assert_fails('call prop_remove([])', 'E474:')
+ call assert_fails('call prop_remove([])', 'E1206:')
call assert_fails('call prop_remove({}, -2)', 'E16:')
call assert_fails('call prop_remove({})', 'E968:')
call assert_fails('call prop_type_add([], {})', 'E730:')
@@ -1699,7 +1699,7 @@
call assert_fails("call prop_type_add('yyy', 'not_a_dict')", 'E715:')
call assert_fails("call prop_add(1, 5, {'type':'missing_type', 'length':1})", 'E971:')
call assert_fails("call prop_add(1, 5, {'type': ''})", 'E971:')
- call assert_fails('call prop_add(1, 1, 0)', 'E715:')
+ call assert_fails('call prop_add(1, 1, 0)', 'E1206:')
new
call setline(1, ['first', 'second'])
diff --git a/src/testdir/test_timers.vim b/src/testdir/test_timers.vim
index 338be10..85e76eb 100644
--- a/src/testdir/test_timers.vim
+++ b/src/testdir/test_timers.vim
@@ -265,7 +265,7 @@
sleep 50m
call assert_equal(3, g:call_count)
- call assert_fails('call timer_start(100, "MyHandler", "abc")', 'E475:')
+ call assert_fails('call timer_start(100, "MyHandler", "abc")', 'E1206:')
call assert_fails('call timer_start(100, [])', 'E921:')
call assert_fails('call timer_stop("abc")', 'E39:')
endfunc
diff --git a/src/testdir/test_window_cmd.vim b/src/testdir/test_window_cmd.vim
index e761c21..0fe0f11 100644
--- a/src/testdir/test_window_cmd.vim
+++ b/src/testdir/test_window_cmd.vim
@@ -745,7 +745,7 @@
only!
bwipe!
- call assert_fails('call winrestview(test_null_dict())', 'E474:')
+ call assert_fails('call winrestview(test_null_dict())', 'E1297:')
endfunc
func Test_relative_cursor_position_after_move_and_resize()
@@ -946,7 +946,7 @@
call assert_equal(view, winsaveview())
bwipe!
- call assert_fails('call winrestview(test_null_dict())', 'E474:')
+ call assert_fails('call winrestview(test_null_dict())', 'E1297:')
endfunc
func Test_win_splitmove()
@@ -977,7 +977,7 @@
call assert_equal(bufname(winbufnr(2)), 'b')
call assert_equal(bufname(winbufnr(3)), 'a')
call assert_equal(bufname(winbufnr(4)), 'd')
- call assert_fails('call win_splitmove(winnr(), winnr("k"), test_null_dict())', 'E474:')
+ call assert_fails('call win_splitmove(winnr(), winnr("k"), test_null_dict())', 'E1297:')
only | bd
call assert_fails('call win_splitmove(winnr(), 123)', 'E957:')