diff options
author | Bram Moolenaar <Bram@vim.org> | 2017-02-25 21:12:29 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2017-02-25 21:12:29 +0100 |
commit | c43a8b8de0676caf8a460b6af1310d7aba8221bb (patch) | |
tree | ae241a8d041c9acd9653e53f7d1ecc1807da70a0 | |
parent | 2f5463df014a406a2b780068e341ef30a99c9b98 (diff) | |
download | vim-git-c43a8b8de0676caf8a460b6af1310d7aba8221bb.tar.gz |
patch 8.0.0369: a few options are not defined, depending on featuresv8.0.0369
Problem: The 'balloondelay', 'ballooneval' and 'balloonexpr' options are
not defined without the +balloon_eval feature. Testing that an
option value fails does not work for unsupported options.
Solution: Make the options defined but not supported. Don't test if
setting unsupported options fails.
-rw-r--r-- | src/gen_opt_test.vim | 8 | ||||
-rw-r--r-- | src/option.c | 26 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 28 insertions, 8 deletions
diff --git a/src/gen_opt_test.vim b/src/gen_opt_test.vim index 21f0defc1..39705063b 100644 --- a/src/gen_opt_test.vim +++ b/src/gen_opt_test.vim @@ -27,8 +27,8 @@ let test_values = { \ 'foldcolumn': [[0, 1, 4, 12], [-1, 13, 999]], \ 'helpheight': [[0, 10, 100], [-1]], \ 'history': [[0, 1, 100], [-1, 10001]], - \ 'iminsert': [[0, 1, 2], [-1, 3, 999]], - \ 'imsearch': [[-1, 0, 1, 2], [-2, 3, 999]], + \ 'iminsert': [[0, 1], [-1, 3, 999]], + \ 'imsearch': [[-1, 0, 1], [-2, 3, 999]], \ 'lines': [[2, 24], [-1, 0, 1]], \ 'numberwidth': [[1, 4, 8, 10], [-1, 0, 11]], \ 'regexpengine': [[0, 1, 2], [-1, 3, 999]], @@ -170,10 +170,14 @@ while 1 call add(script, 'set ' . name . '=' . val) call add(script, 'set ' . shortname . '=' . val) endfor + + " setting an option can only fail when it's implemented. + call add(script, "if exists('+" . name . "')") for val in a[1] call add(script, "call assert_fails('set " . name . "=" . val . "')") call add(script, "call assert_fails('set " . shortname . "=" . val . "')") endfor + call add(script, "endif") endif call add(script, 'set ' . name . '&') diff --git a/src/option.c b/src/option.c index 4ba436341..5a8af316b 100644 --- a/src/option.c +++ b/src/option.c @@ -624,19 +624,33 @@ static struct vimoption options[] = {(char_u *)0L, (char_u *)0L} #endif SCRIPTID_INIT}, -#ifdef FEAT_BEVAL {"balloondelay","bdlay",P_NUM|P_VI_DEF, +#ifdef FEAT_BEVAL (char_u *)&p_bdlay, PV_NONE, - {(char_u *)600L, (char_u *)0L} SCRIPTID_INIT}, + {(char_u *)600L, (char_u *)0L} +#else + (char_u *)NULL, PV_NONE, + {(char_u *)0L, (char_u *)0L} +#endif + SCRIPTID_INIT}, {"ballooneval", "beval",P_BOOL|P_VI_DEF|P_NO_MKRC, +#ifdef FEAT_BEVAL (char_u *)&p_beval, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, -# ifdef FEAT_EVAL + {(char_u *)FALSE, (char_u *)0L} +#else + (char_u *)NULL, PV_NONE, + {(char_u *)0L, (char_u *)0L} +#endif + SCRIPTID_INIT}, {"balloonexpr", "bexpr", P_STRING|P_ALLOCED|P_VI_DEF|P_VIM, +#if defined(FEAT_BEVAL) && defined(FEAT_EVAL) (char_u *)&p_bexpr, PV_BEXPR, - {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, -# endif + {(char_u *)"", (char_u *)0L} +#else + (char_u *)NULL, PV_NONE, + {(char_u *)0L, (char_u *)0L} #endif + SCRIPTID_INIT}, {"beautify", "bf", P_BOOL|P_VI_DEF, (char_u *)NULL, PV_NONE, {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, diff --git a/src/version.c b/src/version.c index 0e0ad45e8..5a60374fb 100644 --- a/src/version.c +++ b/src/version.c @@ -765,6 +765,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 369, +/**/ 368, /**/ 367, |