From 63bbb7c109a5db1520148168c40e0e5ce512a41f Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Wed, 19 Mar 2025 15:28:24 +0800 Subject: fix(api): fix 'winborder' preventing splits with nvim_open_win (#32981) While at it, rename the p_winbd variable to p_winborder, as 'winbd' is not the option's short name. Co-authored-by: glepnir --- src/nvim/api/win_config.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src/nvim/api') diff --git a/src/nvim/api/win_config.c b/src/nvim/api/win_config.c index 31de5ca1eb..4b5b02e507 100644 --- a/src/nvim/api/win_config.c +++ b/src/nvim/api/win_config.c @@ -1273,13 +1273,18 @@ static bool parse_win_config(win_T *wp, Dict(win_config) *config, WinConfig *fco } } - if (HAS_KEY_X(config, border) || *p_winbd != NUL) { + Object border_style = OBJECT_INIT; + if (HAS_KEY_X(config, border)) { if (is_split) { api_set_error(err, kErrorTypeValidation, "non-float cannot have 'border'"); goto fail; } - Object style = config->border.type != kObjectTypeNil ? config->border : CSTR_AS_OBJ(p_winbd); - parse_border_style(style, fconfig, err); + border_style = config->border; + } else if (*p_winborder != NUL) { + border_style = CSTR_AS_OBJ(p_winborder); + } + if (border_style.type != kObjectTypeNil) { + parse_border_style(border_style, fconfig, err); if (ERROR_SET(err)) { goto fail; } -- cgit