aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames McCoy <jamessan@jamessan.com>2021-05-26 10:30:20 -0400
committerGitHub <noreply@github.com>2021-05-26 10:30:20 -0400
commit0b905be47b969baf20fb4fe9828341ddfc356092 (patch)
treeb6a4bf5dae064f5d3484ee37c4c464890657ac50
parentfd91e73c57b2dd95e9395fef04c82b80b9c779bc (diff)
parent0c8454f5bc5c40a2d2926f4b630a8519731fd7ae (diff)
downloadrneovim-0b905be47b969baf20fb4fe9828341ddfc356092.tar.gz
rneovim-0b905be47b969baf20fb4fe9828341ddfc356092.tar.bz2
rneovim-0b905be47b969baf20fb4fe9828341ddfc356092.zip
Merge pull request #14607 from glacambre/fix_get_all_options_info_crash
[RDY] Generate PARAM_COUNT macro
-rw-r--r--src/nvim/option.c2
-rw-r--r--test/functional/api/vim_spec.lua4
2 files changed, 5 insertions, 1 deletions
diff --git a/src/nvim/option.c b/src/nvim/option.c
index 1454af1a73..335fa1cb62 100644
--- a/src/nvim/option.c
+++ b/src/nvim/option.c
@@ -7705,7 +7705,7 @@ Dictionary get_vimoption(String name, Error *err)
Dictionary get_all_vimoptions(void)
{
Dictionary retval = ARRAY_DICT_INIT;
- for (size_t i = 0; i < PARAM_COUNT; i++) {
+ for (size_t i = 0; options[i].fullname != NULL; i++) {
Dictionary opt_dict = vimoption2dict(&options[i]);
PUT(retval, options[i].fullname, DICTIONARY_OBJ(opt_dict));
}
diff --git a/test/functional/api/vim_spec.lua b/test/functional/api/vim_spec.lua
index 6926022ee3..0c0f610401 100644
--- a/test/functional/api/vim_spec.lua
+++ b/test/functional/api/vim_spec.lua
@@ -1986,6 +1986,10 @@ describe('API', function()
eq(meths.get_option_info'winhighlight', options_info.winhighlight)
end)
+
+ it('should not crash when echoed', function()
+ meths.exec("echo nvim_get_all_options_info()", true)
+ end)
end)
describe('nvim_get_option_info', function()