aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nvim/eval.c3
-rw-r--r--test/functional/eval/input_spec.lua8
2 files changed, 9 insertions, 2 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index 780a33eced..882b824b49 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -10991,8 +10991,7 @@ void get_user_input(const typval_T *const argvars,
char xp_name_buf[NUMBUFLEN];
if (argvars[0].v_type == VAR_DICT) {
if (argvars[1].v_type != VAR_UNKNOWN) {
- emsgf(
- _("E5050: When providing {opts} argument no more arguments follow"));
+ emsgf(_("E5050: {opts} must be the only argument"));
return;
}
const dict_T *const dict = argvars[0].vval.v_dict;
diff --git a/test/functional/eval/input_spec.lua b/test/functional/eval/input_spec.lua
index d655d9eb4a..51fd06dd90 100644
--- a/test/functional/eval/input_spec.lua
+++ b/test/functional/eval/input_spec.lua
@@ -175,6 +175,10 @@ describe('input()', function()
exc_exec('call input({"default": []})'))
eq('Vim(call):E730: using List as a String',
exc_exec('call input({"completion": []})'))
+ eq('Vim(call):E5050: {opts} must be the only argument',
+ exc_exec('call input({}, "default")'))
+ eq('Vim(call):E118: Too many arguments for function: input',
+ exc_exec('call input("prompt> ", "default", "file", "extra")'))
end)
end)
describe('inputdialog()', function()
@@ -322,5 +326,9 @@ describe('inputdialog()', function()
exc_exec('call inputdialog({"default": []})'))
eq('Vim(call):E730: using List as a String',
exc_exec('call inputdialog({"completion": []})'))
+ eq('Vim(call):E5050: {opts} must be the only argument',
+ exc_exec('call inputdialog({}, "default")'))
+ eq('Vim(call):E118: Too many arguments for function: inputdialog',
+ exc_exec('call inputdialog("prompt> ", "default", "file", "extra")'))
end)
end)