updated for version 7.0024
diff --git a/src/option.c b/src/option.c
index 6b59683..3cb91a4 100644
--- a/src/option.c
+++ b/src/option.c
@@ -118,6 +118,7 @@
, PV_SCBIND
, PV_SCROLL
, PV_SI
+ , PV_STL
, PV_SN
, PV_STS
, PV_SUA
@@ -2024,7 +2025,7 @@
{(char_u *)TRUE, (char_u *)0L}},
{"statusline" ,"stl", P_STRING|P_VI_DEF|P_ALLOCED|P_RSTAT,
#ifdef FEAT_STL_OPT
- (char_u *)&p_stl, PV_NONE,
+ (char_u *)&p_stl, OPT_BOTH(PV_STL),
#else
(char_u *)NULL, PV_NONE,
#endif
@@ -2315,6 +2316,15 @@
{"wildmode", "wim", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
(char_u *)&p_wim, PV_NONE,
{(char_u *)"full", (char_u *)0L}},
+ {"wildoptions", "wop", P_STRING|P_VI_DEF,
+#ifdef FEAT_CMDL_COMPL
+ (char_u *)&p_wop, PV_NONE,
+ {(char_u *)"", (char_u *)0L}
+#else
+ (char_u *)NULL, PV_NONE,
+ {(char_u *)NULL, (char_u *)0L}
+#endif
+ },
{"winaltkeys", "wak", P_STRING|P_VI_DEF,
#ifdef FEAT_WAK
(char_u *)&p_wak, PV_NONE,
@@ -2465,6 +2475,9 @@
static char *(p_bg_values[]) = {"light", "dark", NULL};
static char *(p_nf_values[]) = {"octal", "hex", "alpha", NULL};
static char *(p_ff_values[]) = {FF_UNIX, FF_DOS, FF_MAC, NULL};
+#ifdef FEAT_CMDL_COMPL
+static char *(p_wop_values[]) = {"tagfile", NULL};
+#endif
#ifdef FEAT_WAK
static char *(p_wak_values[]) = {"yes", "menu", "no", NULL};
#endif
@@ -4909,6 +4922,15 @@
errmsg = e_invarg;
}
+#ifdef FEAT_CMDL_COMPL
+ /* 'wildoptions' */
+ else if (varp == &p_wop)
+ {
+ if (check_opt_strings(p_wop, p_wop_values, TRUE) != OK)
+ errmsg = e_invarg;
+ }
+#endif
+
#ifdef FEAT_WAK
/* 'winaltkeys' */
else if (varp == &p_wak)
@@ -5563,7 +5585,7 @@
#ifdef FEAT_STL_OPT
/* 'statusline' or 'rulerformat' */
- else if (varp == &p_stl || varp == &p_ruf)
+ else if (gvarp == &p_stl || varp == &p_ruf)
{
int wid;
@@ -5583,7 +5605,7 @@
}
else
errmsg = check_stl_option(s);
- if (varp == &(p_ruf) && errmsg == NULL)
+ if (varp == &p_ruf && errmsg == NULL)
comp_col();
}
#endif
@@ -7915,6 +7937,9 @@
case OPT_BOTH(PV_DICT): return (char_u *)&(curbuf->b_p_dict);
case OPT_BOTH(PV_TSR): return (char_u *)&(curbuf->b_p_tsr);
#endif
+#ifdef FEAT_STL_OPT
+ case OPT_BOTH(PV_STL): return (char_u *)&(curwin->w_p_stl);
+#endif
}
return NULL; /* "cannot happen" */
}
@@ -7967,6 +7992,10 @@
case OPT_BOTH(PV_EFM): return *curbuf->b_p_efm != NUL
? (char_u *)&(curbuf->b_p_efm) : p->var;
#endif
+#ifdef FEAT_STL_OPT
+ case OPT_BOTH(PV_STL): return *curwin->w_p_stl != NUL
+ ? (char_u *)&(curwin->w_p_stl) : p->var;
+#endif
#ifdef FEAT_ARABIC
case PV_ARAB: return (char_u *)&(curwin->w_p_arab);
@@ -8168,6 +8197,9 @@
to->wo_rl = from->wo_rl;
to->wo_rlc = vim_strsave(from->wo_rlc);
#endif
+#ifdef FEAT_STL_OPT
+ to->wo_stl = vim_strsave(from->wo_stl);
+#endif
to->wo_wrap = from->wo_wrap;
#ifdef FEAT_LINEBREAK
to->wo_lbr = from->wo_lbr;
@@ -8226,6 +8258,9 @@
#ifdef FEAT_RIGHTLEFT
check_string_option(&wop->wo_rlc);
#endif
+#ifdef FEAT_STL_OPT
+ check_string_option(&wop->wo_stl);
+#endif
}
/*
@@ -8248,6 +8283,9 @@
#ifdef FEAT_RIGHTLEFT
clear_string_option(&wop->wo_rlc);
#endif
+#ifdef FEAT_STL_OPT
+ clear_string_option(&wop->wo_stl);
+#endif
}
/*