diff options
author | Björn Linse <bjorn.linse@gmail.com> | 2019-09-02 04:38:50 +0200 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2019-09-01 19:38:50 -0700 |
commit | fb19aeeb33f76cd3b2fec9f62a22e01c212fb076 (patch) | |
tree | 84d9f5fa59467b71c9a236469cb4c96912138c1c /src | |
parent | b10d703213da5699a176c7791a51a322f248dbd2 (diff) | |
download | rneovim-fb19aeeb33f76cd3b2fec9f62a22e01c212fb076.tar.gz rneovim-fb19aeeb33f76cd3b2fec9f62a22e01c212fb076.tar.bz2 rneovim-fb19aeeb33f76cd3b2fec9f62a22e01c212fb076.zip |
API: make nvim_win_set_option() set window-global, not buffer-local #9110
NB: the `!(flags & SOPT_GLOBAL)` exception is for 'statusline'.
Because `:set statusline=...` sets the global value for _all_ windows,
`:setlocal` is the best we can do there. This is a one-of-a-kind option
that doesn't work like any other option.
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/api/private/helpers.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/nvim/api/private/helpers.c b/src/nvim/api/private/helpers.c index 2e4874d7c6..26f388ae7e 100644 --- a/src/nvim/api/private/helpers.c +++ b/src/nvim/api/private/helpers.c @@ -394,7 +394,9 @@ void set_option_to(uint64_t channel_id, void *to, int type, current_SID = channel_id == LUA_INTERNAL_CALL ? SID_LUA : SID_API_CLIENT; current_channel_id = channel_id; - const int opt_flags = (type == SREQ_GLOBAL) ? OPT_GLOBAL : OPT_LOCAL; + const int opt_flags = (type == SREQ_WIN && !(flags & SOPT_GLOBAL)) + ? 0 : (type == SREQ_GLOBAL) + ? OPT_GLOBAL : OPT_LOCAL; set_option_value_for(name.data, numval, stringval, opt_flags, type, to, err); |