aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2025-03-19 14:17:53 +0800
committerGitHub <noreply@github.com>2025-03-19 14:17:53 +0800
commit190d0241e2a0cd4ec4bcb520772db835df935530 (patch)
tree4c5242a5c7376bddf73217e9a27ca0d352093d79
parentaafbd442b2f8ed3c03dae418fabfe3df28608e22 (diff)
downloadrneovim-190d0241e2a0cd4ec4bcb520772db835df935530.tar.gz
rneovim-190d0241e2a0cd4ec4bcb520772db835df935530.tar.bz2
rneovim-190d0241e2a0cd4ec4bcb520772db835df935530.zip
fix(options): fix 'winborder' accepting multiple string values (#32978)
Problem: 'winborder' accepting multiple string values. Solution: Use the fallback did_set_str_generic() callback instead of did_set_winborder() which calls opt_strings_flags() with incorrect last argument.
-rw-r--r--src/nvim/options.lua1
-rw-r--r--src/nvim/optionstr.c9
-rw-r--r--test/old/testdir/gen_opt_test.vim2
3 files changed, 1 insertions, 11 deletions
diff --git a/src/nvim/options.lua b/src/nvim/options.lua
index 3cf60513c4..6c71477ba0 100644
--- a/src/nvim/options.lua
+++ b/src/nvim/options.lua
@@ -10190,7 +10190,6 @@ local options = {
},
{
defaults = { if_true = '' },
- cb = 'did_set_winborder',
values = { '', 'double', 'single', 'shadow', 'rounded', 'solid', 'none' },
desc = [=[
Defines the default border style of floating windows. The default value
diff --git a/src/nvim/optionstr.c b/src/nvim/optionstr.c
index c3cdd6e804..3a6b4c9936 100644
--- a/src/nvim/optionstr.c
+++ b/src/nvim/optionstr.c
@@ -2005,15 +2005,6 @@ const char *did_set_winhighlight(optset_T *args)
return NULL;
}
-/// The 'winborder' option is changed.
-const char *did_set_winborder(optset_T *args)
-{
- if (opt_strings_flags(p_winbd, opt_winborder_values, NULL, true) != OK) {
- return e_invarg;
- }
- return NULL;
-}
-
int expand_set_winhighlight(optexpand_T *args, int *numMatches, char ***matches)
{
return expand_set_opt_generic(args, get_highlight_name, numMatches, matches);
diff --git a/test/old/testdir/gen_opt_test.vim b/test/old/testdir/gen_opt_test.vim
index 84a352a158..aa4c5ec6e0 100644
--- a/test/old/testdir/gen_opt_test.vim
+++ b/test/old/testdir/gen_opt_test.vim
@@ -75,7 +75,7 @@ let test_values = {
\ 'shada': [['', '''50', '"30'], ['xxx']],
\ 'termpastefilter': [['BS', 'HT', 'FF', 'ESC', 'DEL', 'C0', 'C1', 'C0,C1'],
\ ['xxx', 'C0,C1,xxx']],
- \ 'winborder': [['rounded', 'none', 'single', 'solid'], ['xxx']],
+ \ 'winborder': [['rounded', 'none', 'single', 'solid'], ['xxx', 'none,solid']],
\ 'winhighlight': [['', 'a:b', 'a:', 'a:b,c:d'],
\ ['a', ':', ':b', 'a:b:c', 'a:/', '/:b', ',', 'a:b,,', 'a:b,c']],
\