aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api/win_config.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/api/win_config.c')
-rw-r--r--src/nvim/api/win_config.c11
1 files changed, 8 insertions, 3 deletions
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;
}