summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorYegappan Lakshmanan <yegappan@yahoo.com>2022-08-28 17:25:04 +0100
committerBram Moolenaar <Bram@vim.org>2022-08-28 17:25:04 +0100
commit25f1e5556259d536c8608185145b0769262873ff (patch)
tree6dbaa94a67ea64b16e5f05dbe3d581c924793927 /src
parent8934ec027da323aea95d4f6f6cf4967f054433b2 (diff)
patch 9.0.0299: error messages for setcmdline() could be betterv9.0.0299
Problem: Error messages for setcmdline() could be better. Solution: Use more specific error messages. (Yegappan Lakshmanan, closes #10995)
Diffstat (limited to 'src')
-rw-r--r--src/ex_getln.c6
-rw-r--r--src/testdir/test_cmdline.vim4
-rw-r--r--src/testdir/test_vim9_builtin.vim4
-rw-r--r--src/version.c2
4 files changed, 8 insertions, 8 deletions
diff --git a/src/ex_getln.c b/src/ex_getln.c
index 1644de812a..58dc1524ec 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -4272,11 +4272,9 @@ f_setcmdline(typval_T *argvars, typval_T *rettv)
{
int pos = -1;
- if (argvars[0].v_type != VAR_STRING || argvars[0].vval.v_string == NULL)
- {
- emsg(_(e_string_required));
+ if (check_for_string_arg(argvars, 0) == FAIL
+ || check_for_opt_number_arg(argvars, 1) == FAIL)
return;
- }
if (argvars[1].v_type != VAR_UNKNOWN)
{
diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim
index 121ff250d1..81f0c6f0eb 100644
--- a/src/testdir/test_cmdline.vim
+++ b/src/testdir/test_cmdline.vim
@@ -3273,8 +3273,8 @@ func Test_setcmdline()
call assert_equal(a:pos, getcmdpos())
call assert_fails('call setcmdline("' .. a:text .. '", -1)', 'E487:')
- call assert_fails('call setcmdline({}, 0)', 'E928:')
- call assert_fails('call setcmdline("' .. a:text .. '", {})', 'E728:')
+ call assert_fails('call setcmdline({}, 0)', 'E1174:')
+ call assert_fails('call setcmdline("' .. a:text .. '", {})', 'E1210:')
return ''
endfunc
diff --git a/src/testdir/test_vim9_builtin.vim b/src/testdir/test_vim9_builtin.vim
index 227e28c712..e3ebc3e587 100644
--- a/src/testdir/test_vim9_builtin.vim
+++ b/src/testdir/test_vim9_builtin.vim
@@ -3659,8 +3659,8 @@ enddef
def Test_setcmdline()
v9.CheckDefAndScriptSuccess(['setcmdline("ls", 2)'])
- v9.CheckDefAndScriptFailure(['setcmdline(123)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E928: String required'])
- v9.CheckDefAndScriptFailure(['setcmdline("ls", "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1030: Using a String as a Number'])
+ v9.CheckDefAndScriptFailure(['setcmdline(123)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1'])
+ v9.CheckDefAndScriptFailure(['setcmdline("ls", "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2'])
enddef
def Test_setcmdpos()
diff --git a/src/version.c b/src/version.c
index 69cfafe500..1af4b7d966 100644
--- a/src/version.c
+++ b/src/version.c
@@ -708,6 +708,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 299,
+/**/
298,
/**/
297,