summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2017-02-25 21:12:29 +0100
committerBram Moolenaar <Bram@vim.org>2017-02-25 21:12:29 +0100
commitc43a8b8de0676caf8a460b6af1310d7aba8221bb (patch)
treeae241a8d041c9acd9653e53f7d1ecc1807da70a0
parent2f5463df014a406a2b780068e341ef30a99c9b98 (diff)
downloadvim-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.vim8
-rw-r--r--src/option.c26
-rw-r--r--src/version.c2
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,