diff options
author | zeertzjq <zeertzjq@outlook.com> | 2024-10-13 08:09:53 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-13 08:09:53 +0800 |
commit | b56aa80a264f64776bccd8757909cf7f220e6cb8 (patch) | |
tree | 2595cb718e551d17d312eddc356d2c2bdc2cdfb5 /src/nvim/eval/vars.c | |
parent | 06625f9b3af22a2971cbd21274138c9653f2f723 (diff) | |
download | rneovim-b56aa80a264f64776bccd8757909cf7f220e6cb8.tar.gz rneovim-b56aa80a264f64776bccd8757909cf7f220e6cb8.tar.bz2 rneovim-b56aa80a264f64776bccd8757909cf7f220e6cb8.zip |
vim-patch:9.1.0775: tests: not enough tests for setting options (#30785)
Problem: tests: not enough tests for setting options
Solution: Add more comprehensive tests to test_options (Milly).
closes: vim/vim#15856
https://github.com/vim/vim/commit/484facebe4a0fb775ad011a99ba007f55fc4f11a
Restore behavior of &l:option for unset local boolean options that was
accidentally changed in #26429.
Co-authored-by: Milly <milly.ca@gmail.com>
Diffstat (limited to 'src/nvim/eval/vars.c')
-rw-r--r-- | src/nvim/eval/vars.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/nvim/eval/vars.c b/src/nvim/eval/vars.c index a33636667e..d002bff321 100644 --- a/src/nvim/eval/vars.c +++ b/src/nvim/eval/vars.c @@ -1965,14 +1965,12 @@ typval_T optval_as_tv(OptVal value, bool numbool) case kOptValTypeNil: break; case kOptValTypeBoolean: - if (value.data.boolean != kNone) { - if (numbool) { - rettv.v_type = VAR_NUMBER; - rettv.vval.v_number = value.data.boolean == kTrue; - } else { - rettv.v_type = VAR_BOOL; - rettv.vval.v_bool = value.data.boolean == kTrue; - } + if (numbool) { + rettv.v_type = VAR_NUMBER; + rettv.vval.v_number = value.data.boolean; + } else if (value.data.boolean != kNone) { + rettv.v_type = VAR_BOOL; + rettv.vval.v_bool = value.data.boolean == kTrue; } break; // return v:null for None boolean value. case kOptValTypeNumber: |