aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nvim/api/options.c2
-rw-r--r--test/functional/api/vim_spec.lua5
2 files changed, 6 insertions, 1 deletions
diff --git a/src/nvim/api/options.c b/src/nvim/api/options.c
index 3289daeb6f..8fd9904f7a 100644
--- a/src/nvim/api/options.c
+++ b/src/nvim/api/options.c
@@ -95,7 +95,7 @@ static int validate_option_value_args(Dict(option) *opts, char *name, OptIndex *
}
}
- return OK;
+ return ERROR_SET(err) ? FAIL : OK;
#undef HAS_KEY_X
}
diff --git a/test/functional/api/vim_spec.lua b/test/functional/api/vim_spec.lua
index 3f1e378bc1..2eeb5c18a1 100644
--- a/test/functional/api/vim_spec.lua
+++ b/test/functional/api/vim_spec.lua
@@ -1770,6 +1770,11 @@ describe('API', function()
end)
it('validation', function()
+ eq("Unknown option 'foobar'", pcall_err(api.nvim_set_option_value, 'foobar', 'baz', {}))
+ eq(
+ "Unknown option 'foobar'",
+ pcall_err(api.nvim_set_option_value, 'foobar', 'baz', { win = api.nvim_get_current_win() })
+ )
eq(
"Invalid 'scope': expected 'local' or 'global'",
pcall_err(api.nvim_get_option_value, 'scrolloff', { scope = 'bogus' })