xref: /vim-8.2.3635/src/optiondefs.h (revision f4d8b76d)
1 /* vi:set ts=8 sts=4 sw=4 noet:
2  *
3  * VIM - Vi IMproved	by Bram Moolenaar
4  *
5  * Do ":help uganda"  in Vim to read copying and usage conditions.
6  * Do ":help credits" in Vim to see a list of people who contributed.
7  */
8 
9 /*
10  * optiondefs.h: option definitions
11  */
12 
13 // The options that are local to a window or buffer have "indir" set to one of
14 // these values.  Special values:
15 // PV_NONE: global option.
16 // PV_WIN is added: window-local option
17 // PV_BUF is added: buffer-local option
18 // PV_BOTH is added: global option which also has a local value.
19 #define PV_BOTH 0x1000
20 #define PV_WIN  0x2000
21 #define PV_BUF  0x4000
22 #define PV_MASK 0x0fff
23 #define OPT_WIN(x)  (idopt_T)(PV_WIN + (int)(x))
24 #define OPT_BUF(x)  (idopt_T)(PV_BUF + (int)(x))
25 #define OPT_BOTH(x) (idopt_T)(PV_BOTH + (int)(x))
26 
27 // Definition of the PV_ values for buffer-local options.
28 // The BV_ values are defined in option.h.
29 #define PV_AI		OPT_BUF(BV_AI)
30 #define PV_AR		OPT_BOTH(OPT_BUF(BV_AR))
31 #define PV_BKC		OPT_BOTH(OPT_BUF(BV_BKC))
32 #define PV_BH		OPT_BUF(BV_BH)
33 #define PV_BT		OPT_BUF(BV_BT)
34 #ifdef FEAT_QUICKFIX
35 # define PV_EFM		OPT_BOTH(OPT_BUF(BV_EFM))
36 # define PV_GP		OPT_BOTH(OPT_BUF(BV_GP))
37 # define PV_MP		OPT_BOTH(OPT_BUF(BV_MP))
38 #endif
39 #define PV_BIN		OPT_BUF(BV_BIN)
40 #define PV_BL		OPT_BUF(BV_BL)
41 #define PV_BOMB		OPT_BUF(BV_BOMB)
42 #define PV_CI		OPT_BUF(BV_CI)
43 #ifdef FEAT_CINDENT
44 # define PV_CIN		OPT_BUF(BV_CIN)
45 # define PV_CINK	OPT_BUF(BV_CINK)
46 # define PV_CINO	OPT_BUF(BV_CINO)
47 #endif
48 #if defined(FEAT_SMARTINDENT) || defined(FEAT_CINDENT)
49 # define PV_CINW	OPT_BUF(BV_CINW)
50 #endif
51 #define PV_CM		OPT_BOTH(OPT_BUF(BV_CM))
52 #ifdef FEAT_FOLDING
53 # define PV_CMS		OPT_BUF(BV_CMS)
54 #endif
55 #define PV_COM		OPT_BUF(BV_COM)
56 #define PV_CPT		OPT_BUF(BV_CPT)
57 #define PV_DICT	OPT_BOTH(OPT_BUF(BV_DICT))
58 #define PV_TSR		OPT_BOTH(OPT_BUF(BV_TSR))
59 #define PV_CSL		OPT_BUF(BV_CSL)
60 #ifdef FEAT_COMPL_FUNC
61 # define PV_CFU		OPT_BUF(BV_CFU)
62 #endif
63 #ifdef FEAT_FIND_ID
64 # define PV_DEF		OPT_BOTH(OPT_BUF(BV_DEF))
65 # define PV_INC		OPT_BOTH(OPT_BUF(BV_INC))
66 #endif
67 #define PV_EOL		OPT_BUF(BV_EOL)
68 #define PV_FIXEOL	OPT_BUF(BV_FIXEOL)
69 #define PV_EP		OPT_BOTH(OPT_BUF(BV_EP))
70 #define PV_ET		OPT_BUF(BV_ET)
71 #define PV_FENC		OPT_BUF(BV_FENC)
72 #if defined(FEAT_BEVAL) && defined(FEAT_EVAL)
73 # define PV_BEXPR	OPT_BOTH(OPT_BUF(BV_BEXPR))
74 #endif
75 #define PV_FP		OPT_BOTH(OPT_BUF(BV_FP))
76 #ifdef FEAT_EVAL
77 # define PV_FEX		OPT_BUF(BV_FEX)
78 #endif
79 #define PV_FF		OPT_BUF(BV_FF)
80 #define PV_FLP		OPT_BUF(BV_FLP)
81 #define PV_FO		OPT_BUF(BV_FO)
82 #define PV_FT		OPT_BUF(BV_FT)
83 #define PV_IMI		OPT_BUF(BV_IMI)
84 #define PV_IMS		OPT_BUF(BV_IMS)
85 #if defined(FEAT_CINDENT) && defined(FEAT_EVAL)
86 # define PV_INDE	OPT_BUF(BV_INDE)
87 # define PV_INDK	OPT_BUF(BV_INDK)
88 #endif
89 #if defined(FEAT_FIND_ID) && defined(FEAT_EVAL)
90 # define PV_INEX	OPT_BUF(BV_INEX)
91 #endif
92 #define PV_INF		OPT_BUF(BV_INF)
93 #define PV_ISK		OPT_BUF(BV_ISK)
94 #ifdef FEAT_CRYPT
95 # define PV_KEY		OPT_BUF(BV_KEY)
96 #endif
97 #ifdef FEAT_KEYMAP
98 # define PV_KMAP	OPT_BUF(BV_KMAP)
99 #endif
100 #define PV_KP		OPT_BOTH(OPT_BUF(BV_KP))
101 #ifdef FEAT_LISP
102 # define PV_LISP	OPT_BUF(BV_LISP)
103 # define PV_LW		OPT_BOTH(OPT_BUF(BV_LW))
104 #endif
105 #define PV_MENC		OPT_BOTH(OPT_BUF(BV_MENC))
106 #define PV_MA		OPT_BUF(BV_MA)
107 #define PV_ML		OPT_BUF(BV_ML)
108 #define PV_MOD		OPT_BUF(BV_MOD)
109 #define PV_MPS		OPT_BUF(BV_MPS)
110 #define PV_NF		OPT_BUF(BV_NF)
111 #ifdef FEAT_COMPL_FUNC
112 # define PV_OFU		OPT_BUF(BV_OFU)
113 #endif
114 #define PV_PATH		OPT_BOTH(OPT_BUF(BV_PATH))
115 #define PV_PI		OPT_BUF(BV_PI)
116 #ifdef FEAT_TEXTOBJ
117 # define PV_QE		OPT_BUF(BV_QE)
118 #endif
119 #define PV_RO		OPT_BUF(BV_RO)
120 #ifdef FEAT_SMARTINDENT
121 # define PV_SI		OPT_BUF(BV_SI)
122 #endif
123 #define PV_SN		OPT_BUF(BV_SN)
124 #ifdef FEAT_SYN_HL
125 # define PV_SMC		OPT_BUF(BV_SMC)
126 # define PV_SYN		OPT_BUF(BV_SYN)
127 #endif
128 #ifdef FEAT_SPELL
129 # define PV_SPC		OPT_BUF(BV_SPC)
130 # define PV_SPF		OPT_BUF(BV_SPF)
131 # define PV_SPL		OPT_BUF(BV_SPL)
132 # define PV_SPO		OPT_BUF(BV_SPO)
133 #endif
134 #define PV_STS		OPT_BUF(BV_STS)
135 #ifdef FEAT_SEARCHPATH
136 # define PV_SUA		OPT_BUF(BV_SUA)
137 #endif
138 #define PV_SW		OPT_BUF(BV_SW)
139 #define PV_SWF		OPT_BUF(BV_SWF)
140 #ifdef FEAT_EVAL
141 # define PV_TFU		OPT_BUF(BV_TFU)
142 #endif
143 #ifdef FEAT_COMPL_FUNC
144 # define PV_TSRFU	OPT_BOTH(OPT_BUF(BV_TSRFU))
145 #endif
146 #define PV_TAGS		OPT_BOTH(OPT_BUF(BV_TAGS))
147 #define PV_TC		OPT_BOTH(OPT_BUF(BV_TC))
148 #define PV_TS		OPT_BUF(BV_TS)
149 #define PV_TW		OPT_BUF(BV_TW)
150 #define PV_TX		OPT_BUF(BV_TX)
151 #ifdef FEAT_PERSISTENT_UNDO
152 # define PV_UDF		OPT_BUF(BV_UDF)
153 #endif
154 #define PV_WM		OPT_BUF(BV_WM)
155 #ifdef FEAT_VARTABS
156 # define PV_VSTS		OPT_BUF(BV_VSTS)
157 # define PV_VTS		OPT_BUF(BV_VTS)
158 #endif
159 #define PV_VE		OPT_BOTH(OPT_BUF(BV_VE))
160 
161 // Definition of the PV_ values for window-local options.
162 // The WV_ values are defined in option.h.
163 #define PV_LIST		OPT_WIN(WV_LIST)
164 #ifdef FEAT_ARABIC
165 # define PV_ARAB	OPT_WIN(WV_ARAB)
166 #endif
167 #ifdef FEAT_LINEBREAK
168 # define PV_BRI		OPT_WIN(WV_BRI)
169 # define PV_BRIOPT	OPT_WIN(WV_BRIOPT)
170 #endif
171 # define PV_WCR		OPT_WIN(WV_WCR)
172 #ifdef FEAT_DIFF
173 # define PV_DIFF	OPT_WIN(WV_DIFF)
174 #endif
175 #ifdef FEAT_FOLDING
176 # define PV_FDC		OPT_WIN(WV_FDC)
177 # define PV_FEN		OPT_WIN(WV_FEN)
178 # define PV_FDI		OPT_WIN(WV_FDI)
179 # define PV_FDL		OPT_WIN(WV_FDL)
180 # define PV_FDM		OPT_WIN(WV_FDM)
181 # define PV_FML		OPT_WIN(WV_FML)
182 # define PV_FDN		OPT_WIN(WV_FDN)
183 # ifdef FEAT_EVAL
184 #  define PV_FDE	OPT_WIN(WV_FDE)
185 #  define PV_FDT	OPT_WIN(WV_FDT)
186 # endif
187 # define PV_FMR		OPT_WIN(WV_FMR)
188 #endif
189 #ifdef FEAT_LINEBREAK
190 # define PV_LBR		OPT_WIN(WV_LBR)
191 #endif
192 #define PV_LCS		OPT_BOTH(OPT_WIN(WV_LCS))
193 #define PV_NU		OPT_WIN(WV_NU)
194 #define PV_RNU		OPT_WIN(WV_RNU)
195 #ifdef FEAT_LINEBREAK
196 # define PV_NUW		OPT_WIN(WV_NUW)
197 #endif
198 #if defined(FEAT_QUICKFIX)
199 # define PV_PVW		OPT_WIN(WV_PVW)
200 #endif
201 #ifdef FEAT_RIGHTLEFT
202 # define PV_RL		OPT_WIN(WV_RL)
203 # define PV_RLC		OPT_WIN(WV_RLC)
204 #endif
205 #define PV_SCBIND	OPT_WIN(WV_SCBIND)
206 #define PV_SCROLL	OPT_WIN(WV_SCROLL)
207 #define PV_SISO		OPT_BOTH(OPT_WIN(WV_SISO))
208 #define PV_SO		OPT_BOTH(OPT_WIN(WV_SO))
209 #ifdef FEAT_SPELL
210 # define PV_SPELL	OPT_WIN(WV_SPELL)
211 #endif
212 #ifdef FEAT_SYN_HL
213 # define PV_CUC		OPT_WIN(WV_CUC)
214 # define PV_CUL		OPT_WIN(WV_CUL)
215 # define PV_CULOPT	OPT_WIN(WV_CULOPT)
216 # define PV_CC		OPT_WIN(WV_CC)
217 #endif
218 #ifdef FEAT_LINEBREAK
219 # define PV_SBR		OPT_BOTH(OPT_WIN(WV_SBR))
220 #endif
221 #ifdef FEAT_STL_OPT
222 # define PV_STL		OPT_BOTH(OPT_WIN(WV_STL))
223 #endif
224 #define PV_UL		OPT_BOTH(OPT_BUF(BV_UL))
225 # define PV_WFH		OPT_WIN(WV_WFH)
226 # define PV_WFW		OPT_WIN(WV_WFW)
227 #define PV_WRAP		OPT_WIN(WV_WRAP)
228 #define PV_CRBIND	OPT_WIN(WV_CRBIND)
229 #ifdef FEAT_CONCEAL
230 # define PV_COCU	OPT_WIN(WV_COCU)
231 # define PV_COLE	OPT_WIN(WV_COLE)
232 #endif
233 #ifdef FEAT_TERMINAL
234 # define PV_TWK		OPT_WIN(WV_TWK)
235 # define PV_TWS		OPT_WIN(WV_TWS)
236 # define PV_TWSL	OPT_BUF(BV_TWSL)
237 #endif
238 #ifdef FEAT_SIGNS
239 # define PV_SCL		OPT_WIN(WV_SCL)
240 #endif
241 
242 // WV_ and BV_ values get typecasted to this for the "indir" field
243 typedef enum
244 {
245     PV_NONE = 0,
246     PV_MAXVAL = 0xffff    // to avoid warnings for value out of range
247 } idopt_T;
248 
249 // Options local to a window have a value local to a buffer and global to all
250 // buffers.  Indicate this by setting "var" to VAR_WIN.
251 #define VAR_WIN ((char_u *)-1)
252 
253 // Saved values for when 'bin' is set.
254 static int	p_et_nobin;
255 static int	p_ml_nobin;
256 static long	p_tw_nobin;
257 static long	p_wm_nobin;
258 
259 // Saved values for when 'paste' is set
260 static int	p_ai_nopaste;
261 static int	p_et_nopaste;
262 static long	p_sts_nopaste;
263 static long	p_tw_nopaste;
264 static long	p_wm_nopaste;
265 #ifdef FEAT_VARTABS
266 static char_u	*p_vsts_nopaste;
267 #endif
268 
269 struct vimoption
270 {
271     char	*fullname;	// full option name
272     char	*shortname;	// permissible abbreviation
273     long_u	flags;		// see below
274     char_u	*var;		// global option: pointer to variable;
275 				// window-local option: VAR_WIN;
276 				// buffer-local option: global value
277     idopt_T	indir;		// global option: PV_NONE;
278 				// local option: indirect option index
279     char_u	*def_val[2];	// default values for variable (vi and vim)
280 #ifdef FEAT_EVAL
281     sctx_T	script_ctx;	// script context where the option was last set
282 # define SCTX_INIT , {0, 0, 0, 1}
283 #else
284 # define SCTX_INIT
285 #endif
286 };
287 
288 #define VI_DEFAULT  0	    // def_val[VI_DEFAULT] is Vi default value
289 #define VIM_DEFAULT 1	    // def_val[VIM_DEFAULT] is Vim default value
290 
291 #define ISK_LATIN1  (char_u *)"@,48-57,_,192-255"
292 
293 // 'isprint' for latin1 is also used for MS-Windows cp1252, where 0x80 is used
294 // for the currency sign.
295 #if defined(MSWIN)
296 # define ISP_LATIN1 (char_u *)"@,~-255"
297 #else
298 # define ISP_LATIN1 (char_u *)"@,161-255"
299 #endif
300 
301 # define HIGHLIGHT_INIT "8:SpecialKey,~:EndOfBuffer,@:NonText,d:Directory,e:ErrorMsg,i:IncSearch,l:Search,m:MoreMsg,M:ModeMsg,n:LineNr,a:LineNrAbove,b:LineNrBelow,N:CursorLineNr,r:Question,s:StatusLine,S:StatusLineNC,c:VertSplit,t:Title,v:Visual,V:VisualNOS,w:WarningMsg,W:WildMenu,f:Folded,F:FoldColumn,A:DiffAdd,C:DiffChange,D:DiffDelete,T:DiffText,>:SignColumn,-:Conceal,B:SpellBad,P:SpellCap,R:SpellRare,L:SpellLocal,+:Pmenu,=:PmenuSel,x:PmenuSbar,X:PmenuThumb,*:TabLine,#:TabLineSel,_:TabLineFill,!:CursorColumn,.:CursorLine,o:ColorColumn,q:QuickFixLine,z:StatusLineTerm,Z:StatusLineTermNC"
302 
303 // Default python version for pyx* commands
304 #if defined(FEAT_PYTHON) && defined(FEAT_PYTHON3)
305 # define DEFAULT_PYTHON_VER	0
306 #elif defined(FEAT_PYTHON3)
307 # define DEFAULT_PYTHON_VER	3
308 #elif defined(FEAT_PYTHON)
309 # define DEFAULT_PYTHON_VER	2
310 #else
311 # define DEFAULT_PYTHON_VER	0
312 #endif
313 
314 // used for 'cinkeys' and 'indentkeys'
315 #define INDENTKEYS_DEFAULT (char_u *)"0{,0},0),0],:,0#,!^F,o,O,e"
316 
317 // options[] is initialized here.
318 // The order of the options MUST be alphabetic for ":set all" and findoption().
319 // All option names MUST start with a lowercase letter (for findoption()).
320 // Exception: "t_" options are at the end.
321 // The options with a NULL variable are 'hidden': a set command for them is
322 // ignored and they are not printed.
323 static struct vimoption options[] =
324 {
325     {"aleph",	    "al",   P_NUM|P_VI_DEF|P_CURSWANT,
326 #ifdef FEAT_RIGHTLEFT
327 			    (char_u *)&p_aleph, PV_NONE,
328 #else
329 			    (char_u *)NULL, PV_NONE,
330 #endif
331 			    {
332 #if defined(MSWIN) && !defined(FEAT_GUI_MSWIN)
333 			    (char_u *)128L,
334 #else
335 			    (char_u *)224L,
336 #endif
337 					    (char_u *)0L} SCTX_INIT},
338     {"antialias",   "anti", P_BOOL|P_VI_DEF|P_VIM|P_RCLR,
339 			    (char_u *)NULL, PV_NONE,
340 			    {(char_u *)FALSE, (char_u *)FALSE}
341 			    SCTX_INIT},
342     {"arabic",	    "arab", P_BOOL|P_VI_DEF|P_VIM|P_CURSWANT,
343 #ifdef FEAT_ARABIC
344 			    (char_u *)VAR_WIN, PV_ARAB,
345 #else
346 			    (char_u *)NULL, PV_NONE,
347 #endif
348 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
349     {"arabicshape", "arshape", P_BOOL|P_VI_DEF|P_VIM|P_RCLR,
350 #ifdef FEAT_ARABIC
351 			    (char_u *)&p_arshape, PV_NONE,
352 #else
353 			    (char_u *)NULL, PV_NONE,
354 #endif
355 			    {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
356     {"allowrevins", "ari",  P_BOOL|P_VI_DEF|P_VIM,
357 #ifdef FEAT_RIGHTLEFT
358 			    (char_u *)&p_ari, PV_NONE,
359 #else
360 			    (char_u *)NULL, PV_NONE,
361 #endif
362 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
363     {"altkeymap",   "akm",  P_BOOL|P_VI_DEF,
364 			    (char_u *)NULL, PV_NONE,
365 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
366     {"ambiwidth",  "ambw",  P_STRING|P_VI_DEF|P_RCLR,
367 			    (char_u *)&p_ambw, PV_NONE,
368 			    {(char_u *)"single", (char_u *)0L}
369 			    SCTX_INIT},
370     {"autochdir",  "acd",   P_BOOL|P_VI_DEF,
371 #ifdef FEAT_AUTOCHDIR
372 			    (char_u *)&p_acd, PV_NONE,
373 			    {(char_u *)FALSE, (char_u *)0L}
374 #else
375 			    (char_u *)NULL, PV_NONE,
376 			    {(char_u *)0L, (char_u *)0L}
377 #endif
378 			    SCTX_INIT},
379     {"autoshelldir",  "asd",   P_BOOL|P_VI_DEF,
380 #ifdef FEAT_AUTOSHELLDIR
381 			    (char_u *)&p_asd, PV_NONE,
382 			    {(char_u *)FALSE, (char_u *)0L}
383 #else
384 			    (char_u *)NULL, PV_NONE,
385 			    {(char_u *)0L, (char_u *)0L}
386 #endif
387 			    SCTX_INIT},
388     {"autoindent",  "ai",   P_BOOL|P_VI_DEF,
389 			    (char_u *)&p_ai, PV_AI,
390 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
391     {"autoprint",   "ap",   P_BOOL|P_VI_DEF,
392 			    (char_u *)NULL, PV_NONE,
393 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
394     {"autoread",    "ar",   P_BOOL|P_VI_DEF,
395 			    (char_u *)&p_ar, PV_AR,
396 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
397     {"autowrite",   "aw",   P_BOOL|P_VI_DEF,
398 			    (char_u *)&p_aw, PV_NONE,
399 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
400     {"autowriteall","awa",  P_BOOL|P_VI_DEF,
401 			    (char_u *)&p_awa, PV_NONE,
402 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
403     {"background",  "bg",   P_STRING|P_VI_DEF|P_RCLR,
404 			    (char_u *)&p_bg, PV_NONE,
405 			    {
406 #if (defined(MSWIN)) && !defined(FEAT_GUI)
407 			    (char_u *)"dark",
408 #else
409 			    (char_u *)"light",
410 #endif
411 					    (char_u *)0L} SCTX_INIT},
412     {"backspace",   "bs",   P_STRING|P_VI_DEF|P_VIM|P_ONECOMMA|P_NODUP,
413 			    (char_u *)&p_bs, PV_NONE,
414 			    {(char_u *)"", (char_u *)0L} SCTX_INIT},
415     {"backup",	    "bk",   P_BOOL|P_VI_DEF|P_VIM,
416 			    (char_u *)&p_bk, PV_NONE,
417 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
418     {"backupcopy",  "bkc",  P_STRING|P_VIM|P_ONECOMMA|P_NODUP,
419 			    (char_u *)&p_bkc, PV_BKC,
420 #ifdef UNIX
421 			    {(char_u *)"yes", (char_u *)"auto"}
422 #else
423 			    {(char_u *)"auto", (char_u *)"auto"}
424 #endif
425 			    SCTX_INIT},
426     {"backupdir",   "bdir", P_STRING|P_EXPAND|P_VI_DEF|P_ONECOMMA
427 							    |P_NODUP|P_SECURE,
428 			    (char_u *)&p_bdir, PV_NONE,
429 			    {(char_u *)DFLT_BDIR, (char_u *)0L} SCTX_INIT},
430     {"backupext",   "bex",  P_STRING|P_VI_DEF|P_NFNAME,
431 			    (char_u *)&p_bex, PV_NONE,
432 			    {
433 #ifdef VMS
434 			    (char_u *)"_",
435 #else
436 			    (char_u *)"~",
437 #endif
438 					    (char_u *)0L} SCTX_INIT},
439     {"backupskip",  "bsk",  P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
440 #ifdef FEAT_WILDIGN
441 			    (char_u *)&p_bsk, PV_NONE,
442 			    {(char_u *)"", (char_u *)0L}
443 #else
444 			    (char_u *)NULL, PV_NONE,
445 			    {(char_u *)0L, (char_u *)0L}
446 #endif
447 			    SCTX_INIT},
448     {"balloondelay","bdlay",P_NUM|P_VI_DEF,
449 #ifdef FEAT_BEVAL
450 			    (char_u *)&p_bdlay, PV_NONE,
451 			    {(char_u *)600L, (char_u *)0L}
452 #else
453 			    (char_u *)NULL, PV_NONE,
454 			    {(char_u *)0L, (char_u *)0L}
455 #endif
456 			    SCTX_INIT},
457     {"ballooneval", "beval",P_BOOL|P_VI_DEF|P_NO_MKRC,
458 #ifdef FEAT_BEVAL_GUI
459 			    (char_u *)&p_beval, PV_NONE,
460 			    {(char_u *)FALSE, (char_u *)0L}
461 #else
462 			    (char_u *)NULL, PV_NONE,
463 			    {(char_u *)0L, (char_u *)0L}
464 #endif
465 			    SCTX_INIT},
466     {"balloonevalterm", "bevalterm",P_BOOL|P_VI_DEF|P_NO_MKRC,
467 #ifdef FEAT_BEVAL_TERM
468 			    (char_u *)&p_bevalterm, PV_NONE,
469 			    {(char_u *)FALSE, (char_u *)0L}
470 #else
471 			    (char_u *)NULL, PV_NONE,
472 			    {(char_u *)0L, (char_u *)0L}
473 #endif
474 			    SCTX_INIT},
475     {"balloonexpr", "bexpr", P_STRING|P_ALLOCED|P_VI_DEF|P_VIM|P_MLE,
476 #if defined(FEAT_BEVAL) && defined(FEAT_EVAL)
477 			    (char_u *)&p_bexpr, PV_BEXPR,
478 			    {(char_u *)"", (char_u *)0L}
479 #else
480 			    (char_u *)NULL, PV_NONE,
481 			    {(char_u *)0L, (char_u *)0L}
482 #endif
483 			    SCTX_INIT},
484     {"beautify",    "bf",   P_BOOL|P_VI_DEF,
485 			    (char_u *)NULL, PV_NONE,
486 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
487     {"belloff",      "bo",  P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
488 			    (char_u *)&p_bo, PV_NONE,
489 			    {(char_u *)"", (char_u *)0L} SCTX_INIT},
490     {"binary",	    "bin",  P_BOOL|P_VI_DEF|P_RSTAT,
491 			    (char_u *)&p_bin, PV_BIN,
492 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
493     {"bioskey",	    "biosk",P_BOOL|P_VI_DEF,
494 			    (char_u *)NULL, PV_NONE,
495 			    {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
496     {"bomb",	    NULL,   P_BOOL|P_NO_MKRC|P_VI_DEF|P_RSTAT,
497 			    (char_u *)&p_bomb, PV_BOMB,
498 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
499     {"breakat",	    "brk",  P_STRING|P_VI_DEF|P_RALL|P_FLAGLIST,
500 #ifdef FEAT_LINEBREAK
501 			    (char_u *)&p_breakat, PV_NONE,
502 			    {(char_u *)" \t!@*-+;:,./?", (char_u *)0L}
503 #else
504 			    (char_u *)NULL, PV_NONE,
505 			    {(char_u *)0L, (char_u *)0L}
506 #endif
507 			    SCTX_INIT},
508     {"breakindent",   "bri",  P_BOOL|P_VI_DEF|P_VIM|P_RWIN,
509 #ifdef FEAT_LINEBREAK
510 			    (char_u *)VAR_WIN, PV_BRI,
511 			    {(char_u *)FALSE, (char_u *)0L}
512 #else
513 			    (char_u *)NULL, PV_NONE,
514 			    {(char_u *)0L, (char_u *)0L}
515 #endif
516 			    SCTX_INIT},
517     {"breakindentopt", "briopt", P_STRING|P_ALLOCED|P_VI_DEF|P_RBUF
518 						  |P_ONECOMMA|P_NODUP,
519 #ifdef FEAT_LINEBREAK
520 			    (char_u *)VAR_WIN, PV_BRIOPT,
521 			    {(char_u *)"", (char_u *)NULL}
522 #else
523 			    (char_u *)NULL, PV_NONE,
524 			    {(char_u *)"", (char_u *)NULL}
525 #endif
526 			    SCTX_INIT},
527     {"browsedir",   "bsdir",P_STRING|P_VI_DEF,
528 #ifdef FEAT_BROWSE
529 			    (char_u *)&p_bsdir, PV_NONE,
530 			    {(char_u *)"last", (char_u *)0L}
531 #else
532 			    (char_u *)NULL, PV_NONE,
533 			    {(char_u *)0L, (char_u *)0L}
534 #endif
535 			    SCTX_INIT},
536     {"bufhidden",   "bh",   P_STRING|P_ALLOCED|P_VI_DEF|P_NOGLOB,
537 			    (char_u *)&p_bh, PV_BH,
538 			    {(char_u *)"", (char_u *)0L}
539 			    SCTX_INIT},
540     {"buflisted",   "bl",   P_BOOL|P_VI_DEF|P_NOGLOB,
541 			    (char_u *)&p_bl, PV_BL,
542 			    {(char_u *)1L, (char_u *)0L}
543 			    SCTX_INIT},
544     {"buftype",	    "bt",   P_STRING|P_ALLOCED|P_VI_DEF|P_NOGLOB,
545 			    (char_u *)&p_bt, PV_BT,
546 			    {(char_u *)"", (char_u *)0L}
547 			    SCTX_INIT},
548     {"casemap",	    "cmp",   P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
549 			    (char_u *)&p_cmp, PV_NONE,
550 			    {(char_u *)"internal,keepascii", (char_u *)0L}
551 			    SCTX_INIT},
552     {"cdpath",	    "cd",   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE|P_COMMA|P_NODUP,
553 #ifdef FEAT_SEARCHPATH
554 			    (char_u *)&p_cdpath, PV_NONE,
555 			    {(char_u *)",,", (char_u *)0L}
556 #else
557 			    (char_u *)NULL, PV_NONE,
558 			    {(char_u *)0L, (char_u *)0L}
559 #endif
560 			    SCTX_INIT},
561     {"cedit",	    NULL,   P_STRING,
562 #ifdef FEAT_CMDWIN
563 			    (char_u *)&p_cedit, PV_NONE,
564 			    {(char_u *)"", (char_u *)CTRL_F_STR}
565 #else
566 			    (char_u *)NULL, PV_NONE,
567 			    {(char_u *)0L, (char_u *)0L}
568 #endif
569 			    SCTX_INIT},
570     {"charconvert",  "ccv", P_STRING|P_VI_DEF|P_SECURE,
571 #if defined(FEAT_EVAL)
572 			    (char_u *)&p_ccv, PV_NONE,
573 			    {(char_u *)"", (char_u *)0L}
574 #else
575 			    (char_u *)NULL, PV_NONE,
576 			    {(char_u *)0L, (char_u *)0L}
577 #endif
578 			    SCTX_INIT},
579     {"cindent",	    "cin",  P_BOOL|P_VI_DEF|P_VIM,
580 #ifdef FEAT_CINDENT
581 			    (char_u *)&p_cin, PV_CIN,
582 #else
583 			    (char_u *)NULL, PV_NONE,
584 #endif
585 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
586     {"cinkeys",	    "cink", P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA|P_NODUP,
587 #ifdef FEAT_CINDENT
588 			    (char_u *)&p_cink, PV_CINK,
589 			    {INDENTKEYS_DEFAULT, (char_u *)0L}
590 #else
591 			    (char_u *)NULL, PV_NONE,
592 			    {(char_u *)0L, (char_u *)0L}
593 #endif
594 			    SCTX_INIT},
595     {"cinoptions",  "cino", P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA|P_NODUP,
596 #ifdef FEAT_CINDENT
597 			    (char_u *)&p_cino, PV_CINO,
598 #else
599 			    (char_u *)NULL, PV_NONE,
600 #endif
601 			    {(char_u *)"", (char_u *)0L} SCTX_INIT},
602     {"cinwords",    "cinw", P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA|P_NODUP,
603 #if defined(FEAT_SMARTINDENT) || defined(FEAT_CINDENT)
604 			    (char_u *)&p_cinw, PV_CINW,
605 			    {(char_u *)"if,else,while,do,for,switch",
606 				(char_u *)0L}
607 #else
608 			    (char_u *)NULL, PV_NONE,
609 			    {(char_u *)0L, (char_u *)0L}
610 #endif
611 			    SCTX_INIT},
612     {"clipboard",   "cb",   P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
613 #ifdef FEAT_CLIPBOARD
614 			    (char_u *)&p_cb, PV_NONE,
615 # ifdef FEAT_XCLIPBOARD
616 			    {(char_u *)"autoselect,exclude:cons\\|linux",
617 							       (char_u *)0L}
618 # else
619 			    {(char_u *)"", (char_u *)0L}
620 # endif
621 #else
622 			    (char_u *)NULL, PV_NONE,
623 			    {(char_u *)"", (char_u *)0L}
624 #endif
625 			    SCTX_INIT},
626     {"cmdheight",   "ch",   P_NUM|P_VI_DEF|P_RALL,
627 			    (char_u *)&p_ch, PV_NONE,
628 			    {(char_u *)1L, (char_u *)0L} SCTX_INIT},
629     {"cmdwinheight", "cwh", P_NUM|P_VI_DEF,
630 #ifdef FEAT_CMDWIN
631 			    (char_u *)&p_cwh, PV_NONE,
632 #else
633 			    (char_u *)NULL, PV_NONE,
634 #endif
635 			    {(char_u *)7L, (char_u *)0L} SCTX_INIT},
636     {"colorcolumn", "cc",   P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP|P_RWIN,
637 #ifdef FEAT_SYN_HL
638 			    (char_u *)VAR_WIN, PV_CC,
639 #else
640 			    (char_u *)NULL, PV_NONE,
641 #endif
642 			    {(char_u *)"", (char_u *)0L} SCTX_INIT},
643     {"columns",	    "co",   P_NUM|P_NODEFAULT|P_NO_MKRC|P_VI_DEF|P_RCLR,
644 			    (char_u *)&Columns, PV_NONE,
645 			    {(char_u *)80L, (char_u *)0L} SCTX_INIT},
646     {"comments",    "com",  P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA
647 							  |P_NODUP|P_CURSWANT,
648 			    (char_u *)&p_com, PV_COM,
649 			    {(char_u *)"s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-",
650 				(char_u *)0L}
651 			    SCTX_INIT},
652     {"commentstring", "cms", P_STRING|P_ALLOCED|P_VI_DEF|P_CURSWANT,
653 #ifdef FEAT_FOLDING
654 			    (char_u *)&p_cms, PV_CMS,
655 			    {(char_u *)"/*%s*/", (char_u *)0L}
656 #else
657 			    (char_u *)NULL, PV_NONE,
658 			    {(char_u *)0L, (char_u *)0L}
659 #endif
660 			    SCTX_INIT},
661 			    // P_PRI_MKRC isn't needed here, optval_default()
662 			    // always returns TRUE for 'compatible'
663     {"compatible",  "cp",   P_BOOL|P_RALL,
664 			    (char_u *)&p_cp, PV_NONE,
665 			    {(char_u *)TRUE, (char_u *)FALSE} SCTX_INIT},
666     {"complete",    "cpt",  P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA|P_NODUP,
667 			    (char_u *)&p_cpt, PV_CPT,
668 			    {(char_u *)".,w,b,u,t,i", (char_u *)0L}
669 			    SCTX_INIT},
670     {"concealcursor","cocu", P_STRING|P_ALLOCED|P_RWIN|P_VI_DEF,
671 #ifdef FEAT_CONCEAL
672 			    (char_u *)VAR_WIN, PV_COCU,
673 			    {(char_u *)"", (char_u *)NULL}
674 #else
675 			    (char_u *)NULL, PV_NONE,
676 			    {(char_u *)NULL, (char_u *)0L}
677 #endif
678 			    SCTX_INIT},
679     {"conceallevel","cole", P_NUM|P_RWIN|P_VI_DEF,
680 #ifdef FEAT_CONCEAL
681 			    (char_u *)VAR_WIN, PV_COLE,
682 #else
683 			    (char_u *)NULL, PV_NONE,
684 #endif
685 			    {(char_u *)0L, (char_u *)0L}
686 			    SCTX_INIT},
687     {"completefunc", "cfu", P_STRING|P_ALLOCED|P_VI_DEF|P_SECURE,
688 #ifdef FEAT_COMPL_FUNC
689 			    (char_u *)&p_cfu, PV_CFU,
690 			    {(char_u *)"", (char_u *)0L}
691 #else
692 			    (char_u *)NULL, PV_NONE,
693 			    {(char_u *)0L, (char_u *)0L}
694 #endif
695 			    SCTX_INIT},
696     {"completeopt",   "cot",  P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
697 			    (char_u *)&p_cot, PV_NONE,
698 			    {(char_u *)"menu,preview", (char_u *)0L}
699 			    SCTX_INIT},
700     {"completepopup", "cpp", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
701 #if defined(FEAT_PROP_POPUP) && defined(FEAT_QUICKFIX)
702 			    (char_u *)&p_cpp, PV_NONE,
703 			    {(char_u *)"", (char_u *)0L}
704 #else
705 			    (char_u *)NULL, PV_NONE,
706 			    {(char_u *)NULL, (char_u *)0L}
707 #endif
708 			    SCTX_INIT},
709     {"completeslash",   "csl",  P_STRING|P_VI_DEF|P_VIM,
710 #if defined(BACKSLASH_IN_FILENAME)
711 			    (char_u *)&p_csl, PV_CSL,
712 			    {(char_u *)"", (char_u *)0L}
713 #else
714 			    (char_u *)NULL, PV_NONE,
715 			    {(char_u *)0L, (char_u *)0L}
716 #endif
717 			    SCTX_INIT},
718     {"confirm",     "cf",   P_BOOL|P_VI_DEF,
719 #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
720 			    (char_u *)&p_confirm, PV_NONE,
721 #else
722 			    (char_u *)NULL, PV_NONE,
723 #endif
724 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
725     {"conskey",	    "consk",P_BOOL|P_VI_DEF,
726 			    (char_u *)NULL, PV_NONE,
727 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
728     {"copyindent",  "ci",   P_BOOL|P_VI_DEF|P_VIM,
729 			    (char_u *)&p_ci, PV_CI,
730 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
731     {"cpoptions",   "cpo",  P_STRING|P_VIM|P_RALL|P_FLAGLIST,
732 			    (char_u *)&p_cpo, PV_NONE,
733 			    {(char_u *)CPO_VI, (char_u *)CPO_VIM}
734 			    SCTX_INIT},
735     {"cryptmethod", "cm",   P_STRING|P_ALLOCED|P_VI_DEF,
736 #ifdef FEAT_CRYPT
737 			    (char_u *)&p_cm, PV_CM,
738 			    {(char_u *)"blowfish2", (char_u *)0L}
739 #else
740 			    (char_u *)NULL, PV_NONE,
741 			    {(char_u *)0L, (char_u *)0L}
742 #endif
743 			    SCTX_INIT},
744     {"cscopepathcomp", "cspc", P_NUM|P_VI_DEF|P_VIM,
745 #ifdef FEAT_CSCOPE
746 			    (char_u *)&p_cspc, PV_NONE,
747 #else
748 			    (char_u *)NULL, PV_NONE,
749 #endif
750 			    {(char_u *)0L, (char_u *)0L} SCTX_INIT},
751     {"cscopeprg",   "csprg", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
752 #ifdef FEAT_CSCOPE
753 			    (char_u *)&p_csprg, PV_NONE,
754 			    {(char_u *)"cscope", (char_u *)0L}
755 #else
756 			    (char_u *)NULL, PV_NONE,
757 			    {(char_u *)0L, (char_u *)0L}
758 #endif
759 			    SCTX_INIT},
760     {"cscopequickfix", "csqf", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
761 #if defined(FEAT_CSCOPE) && defined(FEAT_QUICKFIX)
762 			    (char_u *)&p_csqf, PV_NONE,
763 			    {(char_u *)"", (char_u *)0L}
764 #else
765 			    (char_u *)NULL, PV_NONE,
766 			    {(char_u *)0L, (char_u *)0L}
767 #endif
768 			    SCTX_INIT},
769     {"cscoperelative", "csre", P_BOOL|P_VI_DEF|P_VIM,
770 #ifdef FEAT_CSCOPE
771 			    (char_u *)&p_csre, PV_NONE,
772 #else
773 			    (char_u *)NULL, PV_NONE,
774 #endif
775 			    {(char_u *)0L, (char_u *)0L} SCTX_INIT},
776     {"cscopetag",   "cst",  P_BOOL|P_VI_DEF|P_VIM,
777 #ifdef FEAT_CSCOPE
778 			    (char_u *)&p_cst, PV_NONE,
779 #else
780 			    (char_u *)NULL, PV_NONE,
781 #endif
782 			    {(char_u *)0L, (char_u *)0L} SCTX_INIT},
783     {"cscopetagorder", "csto", P_NUM|P_VI_DEF|P_VIM,
784 #ifdef FEAT_CSCOPE
785 			    (char_u *)&p_csto, PV_NONE,
786 #else
787 			    (char_u *)NULL, PV_NONE,
788 #endif
789 			    {(char_u *)0L, (char_u *)0L} SCTX_INIT},
790     {"cscopeverbose", "csverb", P_BOOL|P_VI_DEF|P_VIM,
791 #ifdef FEAT_CSCOPE
792 			    (char_u *)&p_csverbose, PV_NONE,
793 #else
794 			    (char_u *)NULL, PV_NONE,
795 #endif
796 			    {(char_u *)0L, (char_u *)0L} SCTX_INIT},
797     {"cursorbind",  "crb",  P_BOOL|P_VI_DEF,
798 			    (char_u *)VAR_WIN, PV_CRBIND,
799 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
800     {"cursorcolumn", "cuc", P_BOOL|P_VI_DEF|P_RWINONLY,
801 #ifdef FEAT_SYN_HL
802 			    (char_u *)VAR_WIN, PV_CUC,
803 #else
804 			    (char_u *)NULL, PV_NONE,
805 #endif
806 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
807     {"cursorline",   "cul", P_BOOL|P_VI_DEF|P_RWINONLY,
808 #ifdef FEAT_SYN_HL
809 			    (char_u *)VAR_WIN, PV_CUL,
810 #else
811 			    (char_u *)NULL, PV_NONE,
812 #endif
813 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
814     {"cursorlineopt", "culopt", P_STRING|P_VI_DEF|P_RWIN|P_ONECOMMA|P_NODUP,
815 #ifdef FEAT_SYN_HL
816 			    (char_u *)VAR_WIN, PV_CULOPT,
817 #else
818 			    (char_u *)NULL, PV_NONE,
819 #endif
820 			    {(char_u *)"both", (char_u *)0L} SCTX_INIT},
821     {"debug",	    NULL,   P_STRING|P_VI_DEF,
822 			    (char_u *)&p_debug, PV_NONE,
823 			    {(char_u *)"", (char_u *)0L} SCTX_INIT},
824     {"define",	    "def",  P_STRING|P_ALLOCED|P_VI_DEF|P_CURSWANT,
825 #ifdef FEAT_FIND_ID
826 			    (char_u *)&p_def, PV_DEF,
827 			    {(char_u *)"^\\s*#\\s*define", (char_u *)0L}
828 #else
829 			    (char_u *)NULL, PV_NONE,
830 			    {(char_u *)NULL, (char_u *)0L}
831 #endif
832 			    SCTX_INIT},
833     {"delcombine", "deco",  P_BOOL|P_VI_DEF|P_VIM,
834 			    (char_u *)&p_deco, PV_NONE,
835 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
836     {"dictionary",  "dict", P_STRING|P_EXPAND|P_VI_DEF|P_ONECOMMA|P_NODUP|P_NDNAME,
837 			    (char_u *)&p_dict, PV_DICT,
838 			    {(char_u *)"", (char_u *)0L} SCTX_INIT},
839     {"diff",	    NULL,   P_BOOL|P_VI_DEF|P_RWIN|P_NOGLOB,
840 #ifdef FEAT_DIFF
841 			    (char_u *)VAR_WIN, PV_DIFF,
842 #else
843 			    (char_u *)NULL, PV_NONE,
844 #endif
845 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
846     {"diffexpr",    "dex",  P_STRING|P_VI_DEF|P_SECURE|P_CURSWANT,
847 #if defined(FEAT_DIFF) && defined(FEAT_EVAL)
848 			    (char_u *)&p_dex, PV_NONE,
849 			    {(char_u *)"", (char_u *)0L}
850 #else
851 			    (char_u *)NULL, PV_NONE,
852 			    {(char_u *)0L, (char_u *)0L}
853 #endif
854 			    SCTX_INIT},
855     {"diffopt",	    "dip",  P_STRING|P_ALLOCED|P_VI_DEF|P_RWIN|P_ONECOMMA
856 								     |P_NODUP,
857 #ifdef FEAT_DIFF
858 			    (char_u *)&p_dip, PV_NONE,
859 			    {(char_u *)"internal,filler,closeoff",
860 								(char_u *)NULL}
861 #else
862 			    (char_u *)NULL, PV_NONE,
863 			    {(char_u *)"", (char_u *)NULL}
864 #endif
865 			    SCTX_INIT},
866     {"digraph",	    "dg",   P_BOOL|P_VI_DEF|P_VIM,
867 #ifdef FEAT_DIGRAPHS
868 			    (char_u *)&p_dg, PV_NONE,
869 #else
870 			    (char_u *)NULL, PV_NONE,
871 #endif
872 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
873     {"directory",   "dir",  P_STRING|P_EXPAND|P_VI_DEF|P_ONECOMMA
874 							    |P_NODUP|P_SECURE,
875 			    (char_u *)&p_dir, PV_NONE,
876 			    {(char_u *)DFLT_DIR, (char_u *)0L} SCTX_INIT},
877     {"display",	    "dy",   P_STRING|P_VI_DEF|P_ONECOMMA|P_RALL|P_NODUP,
878 			    (char_u *)&p_dy, PV_NONE,
879 			    {(char_u *)"", (char_u *)0L} SCTX_INIT},
880     {"eadirection", "ead",  P_STRING|P_VI_DEF,
881 			    (char_u *)&p_ead, PV_NONE,
882 			    {(char_u *)"both", (char_u *)0L}
883 			    SCTX_INIT},
884     {"edcompatible","ed",   P_BOOL|P_VI_DEF,
885 			    (char_u *)&p_ed, PV_NONE,
886 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
887     {"emoji",  "emo",	    P_BOOL|P_VI_DEF|P_RCLR,
888 			    (char_u *)&p_emoji, PV_NONE,
889 			    {(char_u *)TRUE, (char_u *)0L}
890 			    SCTX_INIT},
891     {"encoding",    "enc",  P_STRING|P_VI_DEF|P_RCLR|P_NO_ML,
892 			    (char_u *)&p_enc, PV_NONE,
893 			    {(char_u *)ENC_DFLT, (char_u *)0L}
894 			    SCTX_INIT},
895     {"endofline",   "eol",  P_BOOL|P_NO_MKRC|P_VI_DEF|P_RSTAT,
896 			    (char_u *)&p_eol, PV_EOL,
897 			    {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
898     {"equalalways", "ea",   P_BOOL|P_VI_DEF|P_RALL,
899 			    (char_u *)&p_ea, PV_NONE,
900 			    {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
901     {"equalprg",    "ep",   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
902 			    (char_u *)&p_ep, PV_EP,
903 			    {(char_u *)"", (char_u *)0L} SCTX_INIT},
904     {"errorbells",  "eb",   P_BOOL|P_VI_DEF,
905 			    (char_u *)&p_eb, PV_NONE,
906 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
907     {"errorfile",   "ef",   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
908 #ifdef FEAT_QUICKFIX
909 			    (char_u *)&p_ef, PV_NONE,
910 			    {(char_u *)DFLT_ERRORFILE, (char_u *)0L}
911 #else
912 			    (char_u *)NULL, PV_NONE,
913 			    {(char_u *)NULL, (char_u *)0L}
914 #endif
915 			    SCTX_INIT},
916     {"errorformat", "efm",  P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
917 #ifdef FEAT_QUICKFIX
918 			    (char_u *)&p_efm, PV_EFM,
919 			    {(char_u *)DFLT_EFM, (char_u *)0L}
920 #else
921 			    (char_u *)NULL, PV_NONE,
922 			    {(char_u *)NULL, (char_u *)0L}
923 #endif
924 			    SCTX_INIT},
925     {"esckeys",	    "ek",   P_BOOL|P_VIM,
926 			    (char_u *)&p_ek, PV_NONE,
927 			    {(char_u *)FALSE, (char_u *)TRUE} SCTX_INIT},
928     {"eventignore", "ei",   P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
929 			    (char_u *)&p_ei, PV_NONE,
930 			    {(char_u *)"", (char_u *)0L} SCTX_INIT},
931     {"expandtab",   "et",   P_BOOL|P_VI_DEF|P_VIM,
932 			    (char_u *)&p_et, PV_ET,
933 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
934     {"exrc",	    "ex",   P_BOOL|P_VI_DEF|P_SECURE,
935 			    (char_u *)&p_exrc, PV_NONE,
936 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
937     {"fileencoding","fenc", P_STRING|P_ALLOCED|P_VI_DEF|P_RSTAT|P_RBUF
938 								   |P_NO_MKRC,
939 			    (char_u *)&p_fenc, PV_FENC,
940 			    {(char_u *)"", (char_u *)0L}
941 			    SCTX_INIT},
942     {"fileencodings","fencs", P_STRING|P_VI_DEF|P_ONECOMMA,
943 			    (char_u *)&p_fencs, PV_NONE,
944 			    {(char_u *)"ucs-bom", (char_u *)0L}
945 			    SCTX_INIT},
946     {"fileformat",  "ff",   P_STRING|P_ALLOCED|P_VI_DEF|P_RSTAT|P_NO_MKRC
947 								  |P_CURSWANT,
948 			    (char_u *)&p_ff, PV_FF,
949 			    {(char_u *)DFLT_FF, (char_u *)0L} SCTX_INIT},
950     {"fileformats", "ffs",  P_STRING|P_VIM|P_ONECOMMA|P_NODUP,
951 			    (char_u *)&p_ffs, PV_NONE,
952 			    {(char_u *)DFLT_FFS_VI, (char_u *)DFLT_FFS_VIM}
953 			    SCTX_INIT},
954     {"fileignorecase", "fic", P_BOOL|P_VI_DEF,
955 			    (char_u *)&p_fic, PV_NONE,
956 			    {
957 #ifdef CASE_INSENSITIVE_FILENAME
958 				    (char_u *)TRUE,
959 #else
960 				    (char_u *)FALSE,
961 #endif
962 					(char_u *)0L} SCTX_INIT},
963     {"filetype",    "ft",   P_STRING|P_EXPAND|P_ALLOCED|P_VI_DEF|P_NOGLOB|P_NFNAME,
964 			    (char_u *)&p_ft, PV_FT,
965 			    {(char_u *)"", (char_u *)0L}
966 			    SCTX_INIT},
967     {"fillchars",   "fcs",  P_STRING|P_VI_DEF|P_RALL|P_ONECOMMA|P_NODUP,
968 			    (char_u *)&p_fcs, PV_NONE,
969 			    {(char_u *)"vert:|,fold:-,eob:~", (char_u *)0L}
970 			    SCTX_INIT},
971     {"fixendofline",  "fixeol", P_BOOL|P_VI_DEF|P_RSTAT,
972 			    (char_u *)&p_fixeol, PV_FIXEOL,
973 			    {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
974     {"fkmap",	    "fk",   P_BOOL|P_VI_DEF,
975 			    (char_u *)NULL, PV_NONE,
976 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
977     {"flash",	    "fl",   P_BOOL|P_VI_DEF,
978 			    (char_u *)NULL, PV_NONE,
979 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
980     {"foldclose",   "fcl",  P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP|P_RWIN,
981 #ifdef FEAT_FOLDING
982 			    (char_u *)&p_fcl, PV_NONE,
983 			    {(char_u *)"", (char_u *)0L}
984 #else
985 			    (char_u *)NULL, PV_NONE,
986 			    {(char_u *)NULL, (char_u *)0L}
987 #endif
988 			    SCTX_INIT},
989     {"foldcolumn",  "fdc",  P_NUM|P_VI_DEF|P_RWIN,
990 #ifdef FEAT_FOLDING
991 			    (char_u *)VAR_WIN, PV_FDC,
992 			    {(char_u *)FALSE, (char_u *)0L}
993 #else
994 			    (char_u *)NULL, PV_NONE,
995 			    {(char_u *)NULL, (char_u *)0L}
996 #endif
997 			    SCTX_INIT},
998     {"foldenable",  "fen",  P_BOOL|P_VI_DEF|P_RWIN,
999 #ifdef FEAT_FOLDING
1000 			    (char_u *)VAR_WIN, PV_FEN,
1001 			    {(char_u *)TRUE, (char_u *)0L}
1002 #else
1003 			    (char_u *)NULL, PV_NONE,
1004 			    {(char_u *)NULL, (char_u *)0L}
1005 #endif
1006 			    SCTX_INIT},
1007     {"foldexpr",    "fde",  P_STRING|P_ALLOCED|P_VIM|P_VI_DEF|P_RWIN|P_MLE,
1008 #if defined(FEAT_FOLDING) && defined(FEAT_EVAL)
1009 			    (char_u *)VAR_WIN, PV_FDE,
1010 			    {(char_u *)"0", (char_u *)NULL}
1011 #else
1012 			    (char_u *)NULL, PV_NONE,
1013 			    {(char_u *)NULL, (char_u *)0L}
1014 #endif
1015 			    SCTX_INIT},
1016     {"foldignore",  "fdi",  P_STRING|P_ALLOCED|P_VIM|P_VI_DEF|P_RWIN,
1017 #ifdef FEAT_FOLDING
1018 			    (char_u *)VAR_WIN, PV_FDI,
1019 			    {(char_u *)"#", (char_u *)NULL}
1020 #else
1021 			    (char_u *)NULL, PV_NONE,
1022 			    {(char_u *)NULL, (char_u *)0L}
1023 #endif
1024 			    SCTX_INIT},
1025     {"foldlevel",   "fdl",  P_NUM|P_VI_DEF|P_RWIN,
1026 #ifdef FEAT_FOLDING
1027 			    (char_u *)VAR_WIN, PV_FDL,
1028 			    {(char_u *)0L, (char_u *)0L}
1029 #else
1030 			    (char_u *)NULL, PV_NONE,
1031 			    {(char_u *)NULL, (char_u *)0L}
1032 #endif
1033 			    SCTX_INIT},
1034     {"foldlevelstart","fdls", P_NUM|P_VI_DEF|P_CURSWANT,
1035 #ifdef FEAT_FOLDING
1036 			    (char_u *)&p_fdls, PV_NONE,
1037 			    {(char_u *)-1L, (char_u *)0L}
1038 #else
1039 			    (char_u *)NULL, PV_NONE,
1040 			    {(char_u *)NULL, (char_u *)0L}
1041 #endif
1042 			    SCTX_INIT},
1043     {"foldmarker",  "fmr",  P_STRING|P_ALLOCED|P_VIM|P_VI_DEF|
1044 						    P_RWIN|P_ONECOMMA|P_NODUP,
1045 #ifdef FEAT_FOLDING
1046 			    (char_u *)VAR_WIN, PV_FMR,
1047 			    {(char_u *)"{{{,}}}", (char_u *)NULL}
1048 #else
1049 			    (char_u *)NULL, PV_NONE,
1050 			    {(char_u *)NULL, (char_u *)0L}
1051 #endif
1052 			    SCTX_INIT},
1053     {"foldmethod",  "fdm",  P_STRING|P_ALLOCED|P_VIM|P_VI_DEF|P_RWIN,
1054 #ifdef FEAT_FOLDING
1055 			    (char_u *)VAR_WIN, PV_FDM,
1056 			    {(char_u *)"manual", (char_u *)NULL}
1057 #else
1058 			    (char_u *)NULL, PV_NONE,
1059 			    {(char_u *)NULL, (char_u *)0L}
1060 #endif
1061 			    SCTX_INIT},
1062     {"foldminlines","fml",  P_NUM|P_VI_DEF|P_RWIN,
1063 #ifdef FEAT_FOLDING
1064 			    (char_u *)VAR_WIN, PV_FML,
1065 			    {(char_u *)1L, (char_u *)0L}
1066 #else
1067 			    (char_u *)NULL, PV_NONE,
1068 			    {(char_u *)NULL, (char_u *)0L}
1069 #endif
1070 			    SCTX_INIT},
1071     {"foldnestmax", "fdn",  P_NUM|P_VI_DEF|P_RWIN,
1072 #ifdef FEAT_FOLDING
1073 			    (char_u *)VAR_WIN, PV_FDN,
1074 			    {(char_u *)20L, (char_u *)0L}
1075 #else
1076 			    (char_u *)NULL, PV_NONE,
1077 			    {(char_u *)NULL, (char_u *)0L}
1078 #endif
1079 			    SCTX_INIT},
1080     {"foldopen",    "fdo",  P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP|P_CURSWANT,
1081 #ifdef FEAT_FOLDING
1082 			    (char_u *)&p_fdo, PV_NONE,
1083 		 {(char_u *)"block,hor,mark,percent,quickfix,search,tag,undo",
1084 						 (char_u *)0L}
1085 #else
1086 			    (char_u *)NULL, PV_NONE,
1087 			    {(char_u *)NULL, (char_u *)0L}
1088 #endif
1089 			    SCTX_INIT},
1090     {"foldtext",    "fdt",  P_STRING|P_ALLOCED|P_VIM|P_VI_DEF|P_RWIN|P_MLE,
1091 #if defined(FEAT_FOLDING) && defined(FEAT_EVAL)
1092 			    (char_u *)VAR_WIN, PV_FDT,
1093 			    {(char_u *)"foldtext()", (char_u *)NULL}
1094 #else
1095 			    (char_u *)NULL, PV_NONE,
1096 			    {(char_u *)NULL, (char_u *)0L}
1097 #endif
1098 			    SCTX_INIT},
1099     {"formatexpr", "fex",   P_STRING|P_ALLOCED|P_VI_DEF|P_VIM|P_MLE,
1100 #ifdef FEAT_EVAL
1101 			    (char_u *)&p_fex, PV_FEX,
1102 			    {(char_u *)"", (char_u *)0L}
1103 #else
1104 			    (char_u *)NULL, PV_NONE,
1105 			    {(char_u *)0L, (char_u *)0L}
1106 #endif
1107 			    SCTX_INIT},
1108     {"formatoptions","fo",  P_STRING|P_ALLOCED|P_VIM|P_FLAGLIST,
1109 			    (char_u *)&p_fo, PV_FO,
1110 			    {(char_u *)DFLT_FO_VI, (char_u *)DFLT_FO_VIM}
1111 			    SCTX_INIT},
1112     {"formatlistpat","flp", P_STRING|P_ALLOCED|P_VI_DEF,
1113 			    (char_u *)&p_flp, PV_FLP,
1114 			    {(char_u *)"^\\s*\\d\\+[\\]:.)}\\t ]\\s*",
1115 						 (char_u *)0L} SCTX_INIT},
1116     {"formatprg",   "fp",   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
1117 			    (char_u *)&p_fp, PV_FP,
1118 			    {(char_u *)"", (char_u *)0L} SCTX_INIT},
1119     {"fsync",       "fs",   P_BOOL|P_SECURE|P_VI_DEF,
1120 #ifdef HAVE_FSYNC
1121 			    (char_u *)&p_fs, PV_NONE,
1122 			    {(char_u *)TRUE, (char_u *)0L}
1123 #else
1124 			    (char_u *)NULL, PV_NONE,
1125 			    {(char_u *)FALSE, (char_u *)0L}
1126 #endif
1127 			    SCTX_INIT},
1128     {"gdefault",    "gd",   P_BOOL|P_VI_DEF|P_VIM,
1129 			    (char_u *)&p_gd, PV_NONE,
1130 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1131     {"graphic",	    "gr",   P_BOOL|P_VI_DEF,
1132 			    (char_u *)NULL, PV_NONE,
1133 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1134     {"grepformat",  "gfm",  P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
1135 #ifdef FEAT_QUICKFIX
1136 			    (char_u *)&p_gefm, PV_NONE,
1137 			    {(char_u *)DFLT_GREPFORMAT, (char_u *)0L}
1138 #else
1139 			    (char_u *)NULL, PV_NONE,
1140 			    {(char_u *)NULL, (char_u *)0L}
1141 #endif
1142 			    SCTX_INIT},
1143     {"grepprg",	    "gp",   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
1144 #ifdef FEAT_QUICKFIX
1145 			    (char_u *)&p_gp, PV_GP,
1146 			    {
1147 # ifdef MSWIN
1148 			    // may be changed to "grep -n" in os_win32.c
1149 			    (char_u *)"findstr /n",
1150 # else
1151 #  ifdef UNIX
1152 			    // Add an extra file name so that grep will always
1153 			    // insert a file name in the match line.
1154 			    (char_u *)"grep -n $* /dev/null",
1155 #  else
1156 #   ifdef VMS
1157 			    (char_u *)"SEARCH/NUMBERS ",
1158 #   else
1159 			    (char_u *)"grep -n ",
1160 #   endif
1161 #  endif
1162 # endif
1163 			    (char_u *)0L}
1164 #else
1165 			    (char_u *)NULL, PV_NONE,
1166 			    {(char_u *)NULL, (char_u *)0L}
1167 #endif
1168 			    SCTX_INIT},
1169     {"guicursor",    "gcr", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
1170 #ifdef CURSOR_SHAPE
1171 			    (char_u *)&p_guicursor, PV_NONE,
1172 			    {
1173 # ifdef FEAT_GUI
1174 				(char_u *)"n-v-c:block-Cursor/lCursor,ve:ver35-Cursor,o:hor50-Cursor,i-ci:ver25-Cursor/lCursor,r-cr:hor20-Cursor/lCursor,sm:block-Cursor-blinkwait175-blinkoff150-blinkon175",
1175 # else	// Win32 console
1176 				(char_u *)"n-v-c:block,o:hor50,i-ci:hor15,r-cr:hor30,sm:block",
1177 # endif
1178 				    (char_u *)0L}
1179 #else
1180 			    (char_u *)NULL, PV_NONE,
1181 			    {(char_u *)NULL, (char_u *)0L}
1182 #endif
1183 			    SCTX_INIT},
1184     {"guifont",	    "gfn",  P_STRING|P_VI_DEF|P_RCLR|P_ONECOMMA|P_NODUP,
1185 #ifdef FEAT_GUI
1186 			    (char_u *)&p_guifont, PV_NONE,
1187 			    {(char_u *)"", (char_u *)0L}
1188 #else
1189 			    (char_u *)NULL, PV_NONE,
1190 			    {(char_u *)NULL, (char_u *)0L}
1191 #endif
1192 			    SCTX_INIT},
1193     {"guifontset",  "gfs",  P_STRING|P_VI_DEF|P_RCLR|P_ONECOMMA,
1194 #if defined(FEAT_GUI) && defined(FEAT_XFONTSET)
1195 			    (char_u *)&p_guifontset, PV_NONE,
1196 			    {(char_u *)"", (char_u *)0L}
1197 #else
1198 			    (char_u *)NULL, PV_NONE,
1199 			    {(char_u *)NULL, (char_u *)0L}
1200 #endif
1201 			    SCTX_INIT},
1202     {"guifontwide", "gfw",  P_STRING|P_VI_DEF|P_RCLR|P_ONECOMMA|P_NODUP,
1203 #if defined(FEAT_GUI)
1204 			    (char_u *)&p_guifontwide, PV_NONE,
1205 			    {(char_u *)"", (char_u *)0L}
1206 #else
1207 			    (char_u *)NULL, PV_NONE,
1208 			    {(char_u *)NULL, (char_u *)0L}
1209 #endif
1210 			    SCTX_INIT},
1211 
1212 
1213     {"guiligatures", "gli", P_STRING|P_VI_DEF|P_RCLR|P_ONECOMMA|P_NODUP,
1214 #if defined(FEAT_GUI_GTK)
1215 			    (char_u *)&p_guiligatures, PV_NONE,
1216 			    {(char_u *)"", (char_u *)0L}
1217 #else
1218 			    (char_u *)NULL, PV_NONE,
1219 			    {(char_u *)NULL, (char_u *)0L}
1220 #endif
1221 			    SCTX_INIT},
1222 
1223 
1224     {"guiheadroom", "ghr",  P_NUM|P_VI_DEF,
1225 #if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11)
1226 			    (char_u *)&p_ghr, PV_NONE,
1227 #else
1228 			    (char_u *)NULL, PV_NONE,
1229 #endif
1230 			    {(char_u *)50L, (char_u *)0L} SCTX_INIT},
1231     {"guioptions",  "go",   P_STRING|P_VI_DEF|P_RALL|P_FLAGLIST,
1232 #if defined(FEAT_GUI)
1233 			    (char_u *)&p_go, PV_NONE,
1234 # if defined(UNIX)
1235 			    {(char_u *)"aegimrLtT", (char_u *)0L}
1236 # else
1237 			    {(char_u *)"egmrLtT", (char_u *)0L}
1238 # endif
1239 #else
1240 			    (char_u *)NULL, PV_NONE,
1241 			    {(char_u *)NULL, (char_u *)0L}
1242 #endif
1243 			    SCTX_INIT},
1244     {"guipty",	    NULL,   P_BOOL|P_VI_DEF,
1245 #if defined(FEAT_GUI)
1246 			    (char_u *)&p_guipty, PV_NONE,
1247 #else
1248 			    (char_u *)NULL, PV_NONE,
1249 #endif
1250 			    {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
1251     {"guitablabel",  "gtl", P_STRING|P_VI_DEF|P_RWIN|P_MLE,
1252 #if defined(FEAT_GUI_TABLINE)
1253 			    (char_u *)&p_gtl, PV_NONE,
1254 			    {(char_u *)"", (char_u *)0L}
1255 #else
1256 			    (char_u *)NULL, PV_NONE,
1257 			    {(char_u *)NULL, (char_u *)0L}
1258 #endif
1259 			    SCTX_INIT},
1260     {"guitabtooltip",  "gtt", P_STRING|P_VI_DEF|P_RWIN,
1261 #if defined(FEAT_GUI_TABLINE)
1262 			    (char_u *)&p_gtt, PV_NONE,
1263 			    {(char_u *)"", (char_u *)0L}
1264 #else
1265 			    (char_u *)NULL, PV_NONE,
1266 			    {(char_u *)NULL, (char_u *)0L}
1267 #endif
1268 			    SCTX_INIT},
1269     {"hardtabs",    "ht",   P_NUM|P_VI_DEF,
1270 			    (char_u *)NULL, PV_NONE,
1271 			    {(char_u *)0L, (char_u *)0L} SCTX_INIT},
1272     {"helpfile",    "hf",   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
1273 			    (char_u *)&p_hf, PV_NONE,
1274 			    {(char_u *)DFLT_HELPFILE, (char_u *)0L}
1275 			    SCTX_INIT},
1276     {"helpheight",  "hh",   P_NUM|P_VI_DEF,
1277 			    (char_u *)&p_hh, PV_NONE,
1278 			    {(char_u *)20L, (char_u *)0L} SCTX_INIT},
1279     {"helplang",    "hlg",  P_STRING|P_VI_DEF|P_ONECOMMA,
1280 #ifdef FEAT_MULTI_LANG
1281 			    (char_u *)&p_hlg, PV_NONE,
1282 			    {(char_u *)"", (char_u *)0L}
1283 #else
1284 			    (char_u *)NULL, PV_NONE,
1285 			    {(char_u *)0L, (char_u *)0L}
1286 #endif
1287 			    SCTX_INIT},
1288     {"hidden",	    "hid",  P_BOOL|P_VI_DEF,
1289 			    (char_u *)&p_hid, PV_NONE,
1290 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1291     {"highlight",   "hl",   P_STRING|P_VI_DEF|P_RCLR|P_ONECOMMA|P_NODUP,
1292 			    (char_u *)&p_hl, PV_NONE,
1293 			    {(char_u *)HIGHLIGHT_INIT, (char_u *)0L}
1294 			    SCTX_INIT},
1295     {"history",	    "hi",   P_NUM|P_VIM,
1296 			    (char_u *)&p_hi, PV_NONE,
1297 			    {(char_u *)0L, (char_u *)50L} SCTX_INIT},
1298     {"hkmap",	    "hk",   P_BOOL|P_VI_DEF|P_VIM,
1299 #ifdef FEAT_RIGHTLEFT
1300 			    (char_u *)&p_hkmap, PV_NONE,
1301 #else
1302 			    (char_u *)NULL, PV_NONE,
1303 #endif
1304 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1305     {"hkmapp",	    "hkp",  P_BOOL|P_VI_DEF|P_VIM,
1306 #ifdef FEAT_RIGHTLEFT
1307 			    (char_u *)&p_hkmapp, PV_NONE,
1308 #else
1309 			    (char_u *)NULL, PV_NONE,
1310 #endif
1311 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1312     {"hlsearch",    "hls",  P_BOOL|P_VI_DEF|P_VIM|P_RALL,
1313 			    (char_u *)&p_hls, PV_NONE,
1314 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1315     {"icon",	    NULL,   P_BOOL|P_VI_DEF,
1316 #ifdef FEAT_TITLE
1317 			    (char_u *)&p_icon, PV_NONE,
1318 #else
1319 			    (char_u *)NULL, PV_NONE,
1320 #endif
1321 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1322     {"iconstring",  NULL,   P_STRING|P_VI_DEF|P_MLE,
1323 #ifdef FEAT_TITLE
1324 			    (char_u *)&p_iconstring, PV_NONE,
1325 #else
1326 			    (char_u *)NULL, PV_NONE,
1327 #endif
1328 			    {(char_u *)"", (char_u *)0L} SCTX_INIT},
1329     {"ignorecase",  "ic",   P_BOOL|P_VI_DEF,
1330 			    (char_u *)&p_ic, PV_NONE,
1331 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1332     {"imactivatefunc","imaf",P_STRING|P_VI_DEF|P_SECURE,
1333 #if defined(FEAT_EVAL)
1334 			    (char_u *)&p_imaf, PV_NONE,
1335 			    {(char_u *)"", (char_u *)NULL}
1336 # else
1337 			    (char_u *)NULL, PV_NONE,
1338 			    {(char_u *)NULL, (char_u *)0L}
1339 # endif
1340 			    SCTX_INIT},
1341     {"imactivatekey","imak",P_STRING|P_VI_DEF,
1342 #if defined(FEAT_XIM) && defined(FEAT_GUI_GTK)
1343 			    (char_u *)&p_imak, PV_NONE,
1344 #else
1345 			    (char_u *)NULL, PV_NONE,
1346 #endif
1347 			    {(char_u *)"", (char_u *)0L} SCTX_INIT},
1348     {"imcmdline",   "imc",  P_BOOL|P_VI_DEF,
1349 			    (char_u *)&p_imcmdline, PV_NONE,
1350 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1351     {"imdisable",   "imd",  P_BOOL|P_VI_DEF,
1352 			    (char_u *)&p_imdisable, PV_NONE,
1353 #ifdef __sgi
1354 			    {(char_u *)TRUE, (char_u *)0L}
1355 #else
1356 			    {(char_u *)FALSE, (char_u *)0L}
1357 #endif
1358 			    SCTX_INIT},
1359     {"iminsert",    "imi",  P_NUM|P_VI_DEF,
1360 			    (char_u *)&p_iminsert, PV_IMI,
1361 			    {(char_u *)B_IMODE_NONE, (char_u *)0L}
1362 			    SCTX_INIT},
1363     {"imsearch",    "ims",  P_NUM|P_VI_DEF,
1364 			    (char_u *)&p_imsearch, PV_IMS,
1365 			    {(char_u *)B_IMODE_USE_INSERT, (char_u *)0L}
1366 			    SCTX_INIT},
1367     {"imstatusfunc","imsf",P_STRING|P_VI_DEF|P_SECURE,
1368 #if defined(FEAT_EVAL)
1369 			    (char_u *)&p_imsf, PV_NONE,
1370 			    {(char_u *)"", (char_u *)NULL}
1371 #else
1372 			    (char_u *)NULL, PV_NONE,
1373 			    {(char_u *)NULL, (char_u *)0L}
1374 #endif
1375 			    SCTX_INIT},
1376     {"imstyle",	    "imst", P_NUM|P_VI_DEF|P_SECURE,
1377 #if defined(FEAT_XIM) && defined(FEAT_GUI_GTK)
1378 			    (char_u *)&p_imst, PV_NONE,
1379 			    {(char_u *)IM_OVER_THE_SPOT, (char_u *)0L}
1380 #else
1381 			    (char_u *)NULL, PV_NONE,
1382 			    {(char_u *)0L, (char_u *)0L}
1383 #endif
1384 			    SCTX_INIT},
1385     {"include",	    "inc",  P_STRING|P_ALLOCED|P_VI_DEF,
1386 #ifdef FEAT_FIND_ID
1387 			    (char_u *)&p_inc, PV_INC,
1388 			    {(char_u *)"^\\s*#\\s*include", (char_u *)0L}
1389 #else
1390 			    (char_u *)NULL, PV_NONE,
1391 			    {(char_u *)0L, (char_u *)0L}
1392 #endif
1393 			    SCTX_INIT},
1394     {"includeexpr", "inex", P_STRING|P_ALLOCED|P_VI_DEF|P_MLE,
1395 #if defined(FEAT_FIND_ID) && defined(FEAT_EVAL)
1396 			    (char_u *)&p_inex, PV_INEX,
1397 			    {(char_u *)"", (char_u *)0L}
1398 #else
1399 			    (char_u *)NULL, PV_NONE,
1400 			    {(char_u *)0L, (char_u *)0L}
1401 #endif
1402 			    SCTX_INIT},
1403     {"incsearch",   "is",   P_BOOL|P_VI_DEF|P_VIM,
1404 			    (char_u *)&p_is, PV_NONE,
1405 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1406     {"indentexpr", "inde",  P_STRING|P_ALLOCED|P_VI_DEF|P_VIM|P_MLE,
1407 #if defined(FEAT_CINDENT) && defined(FEAT_EVAL)
1408 			    (char_u *)&p_inde, PV_INDE,
1409 			    {(char_u *)"", (char_u *)0L}
1410 #else
1411 			    (char_u *)NULL, PV_NONE,
1412 			    {(char_u *)0L, (char_u *)0L}
1413 #endif
1414 			    SCTX_INIT},
1415     {"indentkeys", "indk",  P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA|P_NODUP,
1416 #if defined(FEAT_CINDENT) && defined(FEAT_EVAL)
1417 			    (char_u *)&p_indk, PV_INDK,
1418 			    {INDENTKEYS_DEFAULT, (char_u *)0L}
1419 #else
1420 			    (char_u *)NULL, PV_NONE,
1421 			    {(char_u *)0L, (char_u *)0L}
1422 #endif
1423 			    SCTX_INIT},
1424     {"infercase",   "inf",  P_BOOL|P_VI_DEF,
1425 			    (char_u *)&p_inf, PV_INF,
1426 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1427     {"insertmode",  "im",   P_BOOL|P_VI_DEF|P_VIM,
1428 			    (char_u *)&p_im, PV_NONE,
1429 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1430     {"isfname",	    "isf",  P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
1431 			    (char_u *)&p_isf, PV_NONE,
1432 			    {
1433 #ifdef BACKSLASH_IN_FILENAME
1434 				// Excluded are: & and ^ are special in cmd.exe
1435 				// ( and ) are used in text separating fnames
1436 			    (char_u *)"@,48-57,/,\\,.,-,_,+,,,#,$,%,{,},[,],:,@-@,!,~,=",
1437 #else
1438 # ifdef AMIGA
1439 			    (char_u *)"@,48-57,/,.,-,_,+,,,$,:",
1440 # else
1441 #  ifdef VMS
1442 			    (char_u *)"@,48-57,/,.,-,_,+,,,#,$,%,<,>,[,],:,;,~",
1443 #  else // UNIX et al.
1444 #   ifdef EBCDIC
1445 			    (char_u *)"@,240-249,/,.,-,_,+,,,#,$,%,~,=",
1446 #   else
1447 			    (char_u *)"@,48-57,/,.,-,_,+,,,#,$,%,~,=",
1448 #   endif
1449 #  endif
1450 # endif
1451 #endif
1452 				(char_u *)0L} SCTX_INIT},
1453     {"isident",	    "isi",  P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
1454 			    (char_u *)&p_isi, PV_NONE,
1455 			    {
1456 #if defined(MSWIN)
1457 			    (char_u *)"@,48-57,_,128-167,224-235",
1458 #else
1459 # ifdef EBCDIC
1460 			    // TODO: EBCDIC Check this! @ == isalpha()
1461 			    (char_u *)"@,240-249,_,66-73,81-89,98-105,"
1462 				    "112-120,128,140-142,156,158,172,"
1463 				    "174,186,191,203-207,219-225,235-239,"
1464 				    "251-254",
1465 # else
1466 			    (char_u *)"@,48-57,_,192-255",
1467 # endif
1468 #endif
1469 				(char_u *)0L} SCTX_INIT},
1470     {"iskeyword",   "isk",  P_STRING|P_ALLOCED|P_VIM|P_COMMA|P_NODUP,
1471 			    (char_u *)&p_isk, PV_ISK,
1472 			    {
1473 #ifdef EBCDIC
1474 			     (char_u *)"@,240-249,_",
1475 			     // TODO: EBCDIC Check this! @ == isalpha()
1476 			     (char_u *)"@,240-249,_,66-73,81-89,98-105,"
1477 				    "112-120,128,140-142,156,158,172,"
1478 				    "174,186,191,203-207,219-225,235-239,"
1479 				    "251-254",
1480 #else
1481 				(char_u *)"@,48-57,_",
1482 # if defined(MSWIN)
1483 				(char_u *)"@,48-57,_,128-167,224-235"
1484 # else
1485 				ISK_LATIN1
1486 # endif
1487 #endif
1488 			    } SCTX_INIT},
1489     {"isprint",	    "isp",  P_STRING|P_VI_DEF|P_RALL|P_COMMA|P_NODUP,
1490 			    (char_u *)&p_isp, PV_NONE,
1491 			    {
1492 #if defined(MSWIN) || defined(VMS)
1493 			    (char_u *)"@,~-255",
1494 #else
1495 # ifdef EBCDIC
1496 			    // all chars above 63 are printable
1497 			    (char_u *)"63-255",
1498 # else
1499 			    ISP_LATIN1,
1500 # endif
1501 #endif
1502 				(char_u *)0L} SCTX_INIT},
1503     {"joinspaces",  "js",   P_BOOL|P_VI_DEF|P_VIM,
1504 			    (char_u *)&p_js, PV_NONE,
1505 			    {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
1506     {"key",	    NULL,   P_STRING|P_ALLOCED|P_VI_DEF|P_NO_MKRC,
1507 #ifdef FEAT_CRYPT
1508 			    (char_u *)&p_key, PV_KEY,
1509 			    {(char_u *)"", (char_u *)0L}
1510 #else
1511 			    (char_u *)NULL, PV_NONE,
1512 			    {(char_u *)0L, (char_u *)0L}
1513 #endif
1514 			    SCTX_INIT},
1515     {"keymap",	    "kmp",  P_STRING|P_ALLOCED|P_VI_DEF|P_RBUF|P_RSTAT|P_NFNAME|P_PRI_MKRC,
1516 #ifdef FEAT_KEYMAP
1517 			    (char_u *)&p_keymap, PV_KMAP,
1518 			    {(char_u *)"", (char_u *)0L}
1519 #else
1520 			    (char_u *)NULL, PV_NONE,
1521 			    {(char_u *)"", (char_u *)0L}
1522 #endif
1523 			    SCTX_INIT},
1524     {"keymodel",    "km",   P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
1525 			    (char_u *)&p_km, PV_NONE,
1526 			    {(char_u *)"", (char_u *)0L} SCTX_INIT},
1527     {"keywordprg",  "kp",   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
1528 			    (char_u *)&p_kp, PV_KP,
1529 			    {
1530 #ifdef MSWIN
1531 			    (char_u *)":help",
1532 #else
1533 # ifdef VMS
1534 			    (char_u *)"help",
1535 # else
1536 #  ifdef USEMAN_S
1537 			    (char_u *)"man -s",
1538 #  else
1539 			    (char_u *)"man",
1540 #  endif
1541 # endif
1542 #endif
1543 				(char_u *)0L} SCTX_INIT},
1544     {"langmap",     "lmap", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP|P_SECURE,
1545 #ifdef FEAT_LANGMAP
1546 			    (char_u *)&p_langmap, PV_NONE,
1547 			    {(char_u *)"", (char_u *)0L}
1548 #else
1549 			    (char_u *)NULL, PV_NONE,
1550 			    {(char_u *)NULL, (char_u *)0L}
1551 #endif
1552 			    SCTX_INIT},
1553     {"langmenu",    "lm",   P_STRING|P_VI_DEF|P_NFNAME,
1554 #if defined(FEAT_MENU) && defined(FEAT_MULTI_LANG)
1555 			    (char_u *)&p_lm, PV_NONE,
1556 #else
1557 			    (char_u *)NULL, PV_NONE,
1558 #endif
1559 			    {(char_u *)"", (char_u *)0L} SCTX_INIT},
1560     {"langnoremap",  "lnr",   P_BOOL|P_VI_DEF,
1561 #ifdef FEAT_LANGMAP
1562 			    (char_u *)&p_lnr, PV_NONE,
1563 #else
1564 			    (char_u *)NULL, PV_NONE,
1565 #endif
1566 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1567     {"langremap",  "lrm",   P_BOOL|P_VI_DEF,
1568 #ifdef FEAT_LANGMAP
1569 			    (char_u *)&p_lrm, PV_NONE,
1570 #else
1571 			    (char_u *)NULL, PV_NONE,
1572 #endif
1573 			    {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
1574     {"laststatus",  "ls",   P_NUM|P_VI_DEF|P_RALL,
1575 			    (char_u *)&p_ls, PV_NONE,
1576 			    {(char_u *)1L, (char_u *)0L} SCTX_INIT},
1577     {"lazyredraw",  "lz",   P_BOOL|P_VI_DEF,
1578 			    (char_u *)&p_lz, PV_NONE,
1579 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1580     {"linebreak",   "lbr",  P_BOOL|P_VI_DEF|P_RWIN,
1581 #ifdef FEAT_LINEBREAK
1582 			    (char_u *)VAR_WIN, PV_LBR,
1583 #else
1584 			    (char_u *)NULL, PV_NONE,
1585 #endif
1586 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1587     {"lines",	    NULL,   P_NUM|P_NODEFAULT|P_NO_MKRC|P_VI_DEF|P_RCLR,
1588 			    (char_u *)&Rows, PV_NONE,
1589 			    {
1590 #if defined(MSWIN)
1591 			    (char_u *)25L,
1592 #else
1593 			    (char_u *)24L,
1594 #endif
1595 					    (char_u *)0L} SCTX_INIT},
1596     {"linespace",   "lsp",  P_NUM|P_VI_DEF|P_RCLR,
1597 #ifdef FEAT_GUI
1598 			    (char_u *)&p_linespace, PV_NONE,
1599 #else
1600 			    (char_u *)NULL, PV_NONE,
1601 #endif
1602 #ifdef FEAT_GUI_MSWIN
1603 			    {(char_u *)1L, (char_u *)0L}
1604 #else
1605 			    {(char_u *)0L, (char_u *)0L}
1606 #endif
1607 			    SCTX_INIT},
1608     {"lisp",	    NULL,   P_BOOL|P_VI_DEF,
1609 #ifdef FEAT_LISP
1610 			    (char_u *)&p_lisp, PV_LISP,
1611 #else
1612 			    (char_u *)NULL, PV_NONE,
1613 #endif
1614 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1615     {"lispwords",   "lw",   P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
1616 #ifdef FEAT_LISP
1617 			    (char_u *)&p_lispwords, PV_LW,
1618 			    {(char_u *)LISPWORD_VALUE, (char_u *)0L}
1619 #else
1620 			    (char_u *)NULL, PV_NONE,
1621 			    {(char_u *)"", (char_u *)0L}
1622 #endif
1623 			    SCTX_INIT},
1624     {"list",	    NULL,   P_BOOL|P_VI_DEF|P_RWIN,
1625 			    (char_u *)VAR_WIN, PV_LIST,
1626 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1627     {"listchars",   "lcs",  P_STRING|P_VI_DEF|P_RALL|P_ONECOMMA|P_NODUP,
1628 			    (char_u *)&p_lcs, PV_LCS,
1629 			    {(char_u *)"eol:$", (char_u *)0L} SCTX_INIT},
1630     {"loadplugins", "lpl",  P_BOOL|P_VI_DEF,
1631 			    (char_u *)&p_lpl, PV_NONE,
1632 			    {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
1633     {"luadll",      NULL,   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
1634 #if defined(DYNAMIC_LUA)
1635 			    (char_u *)&p_luadll, PV_NONE,
1636 			    {(char_u *)DYNAMIC_LUA_DLL, (char_u *)0L}
1637 #else
1638 			    (char_u *)NULL, PV_NONE,
1639 			    {(char_u *)"", (char_u *)0L}
1640 #endif
1641 			    SCTX_INIT},
1642     {"macatsui",    NULL,   P_BOOL|P_VI_DEF|P_RCLR,
1643 			    (char_u *)NULL, PV_NONE,
1644 			    {(char_u *)"", (char_u *)0L}
1645 			    SCTX_INIT},
1646     {"magic",	    NULL,   P_BOOL|P_VI_DEF,
1647 			    (char_u *)&p_magic, PV_NONE,
1648 			    {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
1649     {"makeef",	    "mef",  P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
1650 #ifdef FEAT_QUICKFIX
1651 			    (char_u *)&p_mef, PV_NONE,
1652 			    {(char_u *)"", (char_u *)0L}
1653 #else
1654 			    (char_u *)NULL, PV_NONE,
1655 			    {(char_u *)NULL, (char_u *)0L}
1656 #endif
1657 			    SCTX_INIT},
1658     {"makeencoding","menc", P_STRING|P_VI_DEF,
1659 			    (char_u *)&p_menc, PV_MENC,
1660 			    {(char_u *)"", (char_u *)0L}
1661 			    SCTX_INIT},
1662     {"makeprg",	    "mp",   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
1663 #ifdef FEAT_QUICKFIX
1664 			    (char_u *)&p_mp, PV_MP,
1665 # ifdef VMS
1666 			    {(char_u *)"MMS", (char_u *)0L}
1667 # else
1668 			    {(char_u *)"make", (char_u *)0L}
1669 # endif
1670 #else
1671 			    (char_u *)NULL, PV_NONE,
1672 			    {(char_u *)NULL, (char_u *)0L}
1673 #endif
1674 			    SCTX_INIT},
1675     {"matchpairs",  "mps",  P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA|P_NODUP,
1676 			    (char_u *)&p_mps, PV_MPS,
1677 			    {(char_u *)"(:),{:},[:]", (char_u *)0L}
1678 			    SCTX_INIT},
1679     {"matchtime",   "mat",  P_NUM|P_VI_DEF,
1680 			    (char_u *)&p_mat, PV_NONE,
1681 			    {(char_u *)5L, (char_u *)0L} SCTX_INIT},
1682     {"maxcombine",  "mco",  P_NUM|P_VI_DEF|P_CURSWANT,
1683 			    (char_u *)&p_mco, PV_NONE,
1684 			    {(char_u *)2, (char_u *)0L} SCTX_INIT},
1685     {"maxfuncdepth", "mfd", P_NUM|P_VI_DEF,
1686 #ifdef FEAT_EVAL
1687 			    (char_u *)&p_mfd, PV_NONE,
1688 #else
1689 			    (char_u *)NULL, PV_NONE,
1690 #endif
1691 			    {(char_u *)100L, (char_u *)0L} SCTX_INIT},
1692     {"maxmapdepth", "mmd",  P_NUM|P_VI_DEF,
1693 			    (char_u *)&p_mmd, PV_NONE,
1694 			    {(char_u *)1000L, (char_u *)0L} SCTX_INIT},
1695     {"maxmem",	    "mm",   P_NUM|P_VI_DEF,
1696 			    (char_u *)&p_mm, PV_NONE,
1697 			    {(char_u *)DFLT_MAXMEM, (char_u *)0L}
1698 			    SCTX_INIT},
1699     {"maxmempattern","mmp", P_NUM|P_VI_DEF,
1700 			    (char_u *)&p_mmp, PV_NONE,
1701 			    {(char_u *)1000L, (char_u *)0L} SCTX_INIT},
1702     {"maxmemtot",   "mmt",  P_NUM|P_VI_DEF,
1703 			    (char_u *)&p_mmt, PV_NONE,
1704 			    {(char_u *)DFLT_MAXMEMTOT, (char_u *)0L}
1705 			    SCTX_INIT},
1706     {"menuitems",   "mis",  P_NUM|P_VI_DEF,
1707 #ifdef FEAT_MENU
1708 			    (char_u *)&p_mis, PV_NONE,
1709 #else
1710 			    (char_u *)NULL, PV_NONE,
1711 #endif
1712 			    {(char_u *)25L, (char_u *)0L} SCTX_INIT},
1713     {"mesg",	    NULL,   P_BOOL|P_VI_DEF,
1714 			    (char_u *)NULL, PV_NONE,
1715 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1716     {"mkspellmem",  "msm",  P_STRING|P_VI_DEF|P_EXPAND|P_SECURE,
1717 #ifdef FEAT_SPELL
1718 			    (char_u *)&p_msm, PV_NONE,
1719 			    {(char_u *)"460000,2000,500", (char_u *)0L}
1720 #else
1721 			    (char_u *)NULL, PV_NONE,
1722 			    {(char_u *)0L, (char_u *)0L}
1723 #endif
1724 			    SCTX_INIT},
1725     {"modeline",    "ml",   P_BOOL|P_VIM,
1726 			    (char_u *)&p_ml, PV_ML,
1727 			    {(char_u *)FALSE, (char_u *)TRUE} SCTX_INIT},
1728     {"modelineexpr", "mle",  P_BOOL|P_VI_DEF|P_SECURE,
1729 			    (char_u *)&p_mle, PV_NONE,
1730 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1731     {"modelines",   "mls",  P_NUM|P_VI_DEF,
1732 			    (char_u *)&p_mls, PV_NONE,
1733 			    {(char_u *)5L, (char_u *)0L} SCTX_INIT},
1734     {"modifiable",  "ma",   P_BOOL|P_VI_DEF|P_NOGLOB,
1735 			    (char_u *)&p_ma, PV_MA,
1736 			    {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
1737     {"modified",    "mod",  P_BOOL|P_NO_MKRC|P_VI_DEF|P_RSTAT,
1738 			    (char_u *)&p_mod, PV_MOD,
1739 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1740     {"more",	    NULL,   P_BOOL|P_VIM,
1741 			    (char_u *)&p_more, PV_NONE,
1742 			    {(char_u *)FALSE, (char_u *)TRUE} SCTX_INIT},
1743     {"mouse",	    NULL,   P_STRING|P_VI_DEF|P_FLAGLIST,
1744 			    (char_u *)&p_mouse, PV_NONE,
1745 			    {
1746 #if defined(MSWIN)
1747 				(char_u *)"a",
1748 #else
1749 				(char_u *)"",
1750 #endif
1751 				(char_u *)0L} SCTX_INIT},
1752     {"mousefocus",   "mousef", P_BOOL|P_VI_DEF,
1753 #ifdef FEAT_GUI
1754 			    (char_u *)&p_mousef, PV_NONE,
1755 #else
1756 			    (char_u *)NULL, PV_NONE,
1757 #endif
1758 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1759     {"mousehide",   "mh",   P_BOOL|P_VI_DEF,
1760 #ifdef FEAT_GUI
1761 			    (char_u *)&p_mh, PV_NONE,
1762 #else
1763 			    (char_u *)NULL, PV_NONE,
1764 #endif
1765 			    {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
1766     {"mousemodel",  "mousem", P_STRING|P_VI_DEF,
1767 			    (char_u *)&p_mousem, PV_NONE,
1768 			    {
1769 #if defined(MSWIN)
1770 				(char_u *)"popup",
1771 #else
1772 # if defined(MACOS_X)
1773 				(char_u *)"popup_setpos",
1774 # else
1775 				(char_u *)"extend",
1776 # endif
1777 #endif
1778 				(char_u *)0L} SCTX_INIT},
1779     {"mouseshape",  "mouses",  P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
1780 #ifdef FEAT_MOUSESHAPE
1781 			    (char_u *)&p_mouseshape, PV_NONE,
1782 			    {(char_u *)"i-r:beam,s:updown,sd:udsizing,vs:leftright,vd:lrsizing,m:no,ml:up-arrow,v:rightup-arrow", (char_u *)0L}
1783 #else
1784 			    (char_u *)NULL, PV_NONE,
1785 			    {(char_u *)NULL, (char_u *)0L}
1786 #endif
1787 			    SCTX_INIT},
1788     {"mousetime",   "mouset",	P_NUM|P_VI_DEF,
1789 			    (char_u *)&p_mouset, PV_NONE,
1790 			    {(char_u *)500L, (char_u *)0L} SCTX_INIT},
1791     {"mzschemedll", NULL,   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
1792 #if defined(DYNAMIC_MZSCHEME)
1793 			    (char_u *)&p_mzschemedll, PV_NONE,
1794 			    {(char_u *)DYNAMIC_MZSCH_DLL, (char_u *)0L}
1795 #else
1796 			    (char_u *)NULL, PV_NONE,
1797 			    {(char_u *)"", (char_u *)0L}
1798 #endif
1799 			    SCTX_INIT},
1800     {"mzschemegcdll", NULL, P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
1801 #if defined(DYNAMIC_MZSCHEME)
1802 			    (char_u *)&p_mzschemegcdll, PV_NONE,
1803 			    {(char_u *)DYNAMIC_MZGC_DLL, (char_u *)0L}
1804 #else
1805 			    (char_u *)NULL, PV_NONE,
1806 			    {(char_u *)"", (char_u *)0L}
1807 #endif
1808 			    SCTX_INIT},
1809     {"mzquantum",  "mzq",   P_NUM,
1810 #ifdef FEAT_MZSCHEME
1811 			    (char_u *)&p_mzq, PV_NONE,
1812 #else
1813 			    (char_u *)NULL, PV_NONE,
1814 #endif
1815 			    {(char_u *)100L, (char_u *)100L} SCTX_INIT},
1816     {"novice",	    NULL,   P_BOOL|P_VI_DEF,
1817 			    (char_u *)NULL, PV_NONE,
1818 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1819     {"nrformats",   "nf",   P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA|P_NODUP,
1820 			    (char_u *)&p_nf, PV_NF,
1821 			    {(char_u *)"bin,octal,hex", (char_u *)0L}
1822 			    SCTX_INIT},
1823     {"number",	    "nu",   P_BOOL|P_VI_DEF|P_RWIN,
1824 			    (char_u *)VAR_WIN, PV_NU,
1825 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1826     {"numberwidth", "nuw",  P_NUM|P_RWIN|P_VIM,
1827 #ifdef FEAT_LINEBREAK
1828 			    (char_u *)VAR_WIN, PV_NUW,
1829 #else
1830 			    (char_u *)NULL, PV_NONE,
1831 #endif
1832 			    {(char_u *)8L, (char_u *)4L} SCTX_INIT},
1833     {"omnifunc",    "ofu",  P_STRING|P_ALLOCED|P_VI_DEF|P_SECURE,
1834 #ifdef FEAT_COMPL_FUNC
1835 			    (char_u *)&p_ofu, PV_OFU,
1836 			    {(char_u *)"", (char_u *)0L}
1837 #else
1838 			    (char_u *)NULL, PV_NONE,
1839 			    {(char_u *)0L, (char_u *)0L}
1840 #endif
1841 			    SCTX_INIT},
1842     {"open",	    NULL,   P_BOOL|P_VI_DEF,
1843 			    (char_u *)NULL, PV_NONE,
1844 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1845     {"opendevice",  "odev", P_BOOL|P_VI_DEF,
1846 #if defined(MSWIN)
1847 			    (char_u *)&p_odev, PV_NONE,
1848 #else
1849 			    (char_u *)NULL, PV_NONE,
1850 #endif
1851 			    {(char_u *)FALSE, (char_u *)FALSE}
1852 			    SCTX_INIT},
1853     {"operatorfunc", "opfunc", P_STRING|P_VI_DEF|P_SECURE,
1854 			    (char_u *)&p_opfunc, PV_NONE,
1855 			    {(char_u *)"", (char_u *)0L} SCTX_INIT},
1856     {"optimize",    "opt",  P_BOOL|P_VI_DEF,
1857 			    (char_u *)NULL, PV_NONE,
1858 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1859     {"osfiletype",  "oft",  P_STRING|P_ALLOCED|P_VI_DEF,
1860 			    (char_u *)NULL, PV_NONE,
1861 			    {(char_u *)0L, (char_u *)0L} SCTX_INIT},
1862     {"packpath",    "pp",   P_STRING|P_VI_DEF|P_EXPAND|P_ONECOMMA|P_NODUP
1863 								    |P_SECURE,
1864 			    (char_u *)&p_pp, PV_NONE,
1865 			    {(char_u *)DFLT_RUNTIMEPATH, (char_u *)0L}
1866 			    SCTX_INIT},
1867     {"paragraphs",  "para", P_STRING|P_VI_DEF,
1868 			    (char_u *)&p_para, PV_NONE,
1869 			    {(char_u *)"IPLPPPQPP TPHPLIPpLpItpplpipbp",
1870 				(char_u *)0L} SCTX_INIT},
1871     {"paste",	    NULL,   P_BOOL|P_VI_DEF|P_PRI_MKRC,
1872 			    (char_u *)&p_paste, PV_NONE,
1873 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1874     {"pastetoggle", "pt",   P_STRING|P_VI_DEF,
1875 			    (char_u *)&p_pt, PV_NONE,
1876 			    {(char_u *)"", (char_u *)0L} SCTX_INIT},
1877     {"patchexpr",   "pex",  P_STRING|P_VI_DEF|P_SECURE,
1878 #if defined(FEAT_DIFF) && defined(FEAT_EVAL)
1879 			    (char_u *)&p_pex, PV_NONE,
1880 			    {(char_u *)"", (char_u *)0L}
1881 #else
1882 			    (char_u *)NULL, PV_NONE,
1883 			    {(char_u *)0L, (char_u *)0L}
1884 #endif
1885 			    SCTX_INIT},
1886     {"patchmode",   "pm",   P_STRING|P_VI_DEF|P_NFNAME,
1887 			    (char_u *)&p_pm, PV_NONE,
1888 			    {(char_u *)"", (char_u *)0L} SCTX_INIT},
1889     {"path",	    "pa",   P_STRING|P_EXPAND|P_VI_DEF|P_COMMA|P_NODUP,
1890 			    (char_u *)&p_path, PV_PATH,
1891 			    {
1892 #if defined(AMIGA) || defined(MSWIN)
1893 			    (char_u *)".,,",
1894 #else
1895 			    (char_u *)".,/usr/include,,",
1896 #endif
1897 				(char_u *)0L} SCTX_INIT},
1898     {"perldll",     NULL,   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
1899 #if defined(DYNAMIC_PERL)
1900 			    (char_u *)&p_perldll, PV_NONE,
1901 			    {(char_u *)DYNAMIC_PERL_DLL, (char_u *)0L}
1902 #else
1903 			    (char_u *)NULL, PV_NONE,
1904 			    {(char_u *)0L, (char_u *)0L}
1905 #endif
1906 			    SCTX_INIT},
1907     {"preserveindent", "pi", P_BOOL|P_VI_DEF|P_VIM,
1908 			    (char_u *)&p_pi, PV_PI,
1909 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1910     {"previewheight", "pvh", P_NUM|P_VI_DEF,
1911 #if defined(FEAT_QUICKFIX)
1912 			    (char_u *)&p_pvh, PV_NONE,
1913 #else
1914 			    (char_u *)NULL, PV_NONE,
1915 #endif
1916 			    {(char_u *)12L, (char_u *)0L} SCTX_INIT},
1917     {"previewpopup", "pvp", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
1918 #ifdef FEAT_PROP_POPUP
1919 			    (char_u *)&p_pvp, PV_NONE,
1920 			    {(char_u *)"", (char_u *)0L}
1921 #else
1922 			    (char_u *)NULL, PV_NONE,
1923 			    {(char_u *)NULL, (char_u *)0L}
1924 #endif
1925 			    SCTX_INIT},
1926     {"previewwindow", "pvw", P_BOOL|P_VI_DEF|P_RSTAT|P_NOGLOB,
1927 #if defined(FEAT_QUICKFIX)
1928 			    (char_u *)VAR_WIN, PV_PVW,
1929 #else
1930 			    (char_u *)NULL, PV_NONE,
1931 #endif
1932 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1933     {"printdevice", "pdev", P_STRING|P_VI_DEF|P_SECURE,
1934 #ifdef FEAT_PRINTER
1935 			    (char_u *)&p_pdev, PV_NONE,
1936 			    {(char_u *)"", (char_u *)0L}
1937 #else
1938 			    (char_u *)NULL, PV_NONE,
1939 			    {(char_u *)NULL, (char_u *)0L}
1940 #endif
1941 			    SCTX_INIT},
1942     {"printencoding", "penc", P_STRING|P_VI_DEF,
1943 #ifdef FEAT_POSTSCRIPT
1944 			    (char_u *)&p_penc, PV_NONE,
1945 			    {(char_u *)"", (char_u *)0L}
1946 #else
1947 			    (char_u *)NULL, PV_NONE,
1948 			    {(char_u *)NULL, (char_u *)0L}
1949 #endif
1950 			    SCTX_INIT},
1951     {"printexpr", "pexpr",  P_STRING|P_VI_DEF|P_SECURE,
1952 #ifdef FEAT_POSTSCRIPT
1953 			    (char_u *)&p_pexpr, PV_NONE,
1954 			    {(char_u *)"", (char_u *)0L}
1955 #else
1956 			    (char_u *)NULL, PV_NONE,
1957 			    {(char_u *)NULL, (char_u *)0L}
1958 #endif
1959 			    SCTX_INIT},
1960     {"printfont", "pfn",    P_STRING|P_VI_DEF,
1961 #ifdef FEAT_PRINTER
1962 			    (char_u *)&p_pfn, PV_NONE,
1963 			    {
1964 # ifdef MSWIN
1965 				(char_u *)"Courier_New:h10",
1966 # else
1967 				(char_u *)"courier",
1968 # endif
1969 				(char_u *)0L}
1970 #else
1971 			    (char_u *)NULL, PV_NONE,
1972 			    {(char_u *)NULL, (char_u *)0L}
1973 #endif
1974 			    SCTX_INIT},
1975     {"printheader", "pheader",  P_STRING|P_VI_DEF|P_GETTEXT,
1976 #ifdef FEAT_PRINTER
1977 			    (char_u *)&p_header, PV_NONE,
1978 			    // untranslated to avoid problems when 'encoding'
1979 			    // is changed
1980 			    {(char_u *)"%<%f%h%m%=Page %N", (char_u *)0L}
1981 #else
1982 			    (char_u *)NULL, PV_NONE,
1983 			    {(char_u *)NULL, (char_u *)0L}
1984 #endif
1985 			    SCTX_INIT},
1986    {"printmbcharset", "pmbcs",  P_STRING|P_VI_DEF,
1987 #if defined(FEAT_POSTSCRIPT)
1988 			    (char_u *)&p_pmcs, PV_NONE,
1989 			    {(char_u *)"", (char_u *)0L}
1990 #else
1991 			    (char_u *)NULL, PV_NONE,
1992 			    {(char_u *)NULL, (char_u *)0L}
1993 #endif
1994 			    SCTX_INIT},
1995     {"printmbfont", "pmbfn",  P_STRING|P_VI_DEF,
1996 #if defined(FEAT_POSTSCRIPT)
1997 			    (char_u *)&p_pmfn, PV_NONE,
1998 			    {(char_u *)"", (char_u *)0L}
1999 #else
2000 			    (char_u *)NULL, PV_NONE,
2001 			    {(char_u *)NULL, (char_u *)0L}
2002 #endif
2003 			    SCTX_INIT},
2004     {"printoptions", "popt", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
2005 #ifdef FEAT_PRINTER
2006 			    (char_u *)&p_popt, PV_NONE,
2007 			    {(char_u *)"", (char_u *)0L}
2008 #else
2009 			    (char_u *)NULL, PV_NONE,
2010 			    {(char_u *)NULL, (char_u *)0L}
2011 #endif
2012 			    SCTX_INIT},
2013     {"prompt",	    NULL,   P_BOOL|P_VI_DEF,
2014 			    (char_u *)&p_prompt, PV_NONE,
2015 			    {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
2016     {"pumheight",   "ph",   P_NUM|P_VI_DEF,
2017 			    (char_u *)&p_ph, PV_NONE,
2018 			    {(char_u *)0L, (char_u *)0L} SCTX_INIT},
2019     {"pumwidth",    "pw",   P_NUM|P_VI_DEF,
2020 			    (char_u *)&p_pw, PV_NONE,
2021 			    {(char_u *)15L, (char_u *)15L} SCTX_INIT},
2022     {"pythonthreedll",  NULL,   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
2023 #if defined(DYNAMIC_PYTHON3)
2024 			    (char_u *)&p_py3dll, PV_NONE,
2025 			    {(char_u *)DYNAMIC_PYTHON3_DLL, (char_u *)0L}
2026 #else
2027 			    (char_u *)NULL, PV_NONE,
2028 			    {(char_u *)NULL, (char_u *)0L}
2029 #endif
2030 			    SCTX_INIT},
2031     {"pythonthreehome", NULL,   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
2032 #if defined(FEAT_PYTHON3)
2033 			    (char_u *)&p_py3home, PV_NONE,
2034 			    {(char_u *)"", (char_u *)0L}
2035 #else
2036 			    (char_u *)NULL, PV_NONE,
2037 			    {(char_u *)NULL, (char_u *)0L}
2038 #endif
2039 			    SCTX_INIT},
2040     {"pythondll",   NULL,   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
2041 #if defined(DYNAMIC_PYTHON)
2042 			    (char_u *)&p_pydll, PV_NONE,
2043 			    {(char_u *)DYNAMIC_PYTHON_DLL, (char_u *)0L}
2044 #else
2045 			    (char_u *)NULL, PV_NONE,
2046 			    {(char_u *)NULL, (char_u *)0L}
2047 #endif
2048 			    SCTX_INIT},
2049     {"pythonhome",  NULL,   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
2050 #if defined(FEAT_PYTHON)
2051 			    (char_u *)&p_pyhome, PV_NONE,
2052 			    {(char_u *)"", (char_u *)0L}
2053 #else
2054 			    (char_u *)NULL, PV_NONE,
2055 			    {(char_u *)NULL, (char_u *)0L}
2056 #endif
2057 			    SCTX_INIT},
2058     {"pyxversion", "pyx",   P_NUM|P_VI_DEF|P_SECURE,
2059 #if defined(FEAT_PYTHON) || defined(FEAT_PYTHON3)
2060 			    (char_u *)&p_pyx, PV_NONE,
2061 #else
2062 			    (char_u *)NULL, PV_NONE,
2063 #endif
2064 			    {(char_u *)DEFAULT_PYTHON_VER, (char_u *)0L}
2065 			    SCTX_INIT},
2066     {"quickfixtextfunc", "qftf", P_STRING|P_ALLOCED|P_VI_DEF|P_VIM|P_SECURE,
2067 #if defined(FEAT_QUICKFIX) && defined(FEAT_EVAL)
2068 			    (char_u *)&p_qftf, PV_NONE,
2069 			    {(char_u *)"", (char_u *)0L}
2070 #else
2071 			    (char_u *)NULL, PV_NONE,
2072 			    {(char_u *)NULL, (char_u *)NULL}
2073 #endif
2074 			    SCTX_INIT},
2075     {"quoteescape", "qe",   P_STRING|P_ALLOCED|P_VI_DEF,
2076 #ifdef FEAT_TEXTOBJ
2077 			    (char_u *)&p_qe, PV_QE,
2078 			    {(char_u *)"\\", (char_u *)0L}
2079 #else
2080 			    (char_u *)NULL, PV_NONE,
2081 			    {(char_u *)NULL, (char_u *)0L}
2082 #endif
2083 			    SCTX_INIT},
2084     {"readonly",    "ro",   P_BOOL|P_VI_DEF|P_RSTAT|P_NOGLOB,
2085 			    (char_u *)&p_ro, PV_RO,
2086 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2087     {"redraw",	    NULL,   P_BOOL|P_VI_DEF,
2088 			    (char_u *)NULL, PV_NONE,
2089 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2090     {"redrawtime",  "rdt",  P_NUM|P_VI_DEF,
2091 #ifdef FEAT_RELTIME
2092 			    (char_u *)&p_rdt, PV_NONE,
2093 #else
2094 			    (char_u *)NULL, PV_NONE,
2095 #endif
2096 			    {(char_u *)2000L, (char_u *)0L} SCTX_INIT},
2097     {"regexpengine", "re",  P_NUM|P_VI_DEF,
2098 			    (char_u *)&p_re, PV_NONE,
2099 			    {(char_u *)0L, (char_u *)0L} SCTX_INIT},
2100     {"relativenumber", "rnu", P_BOOL|P_VI_DEF|P_RWIN,
2101 			    (char_u *)VAR_WIN, PV_RNU,
2102 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2103     {"remap",	    NULL,   P_BOOL|P_VI_DEF,
2104 			    (char_u *)&p_remap, PV_NONE,
2105 			    {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
2106     {"renderoptions", "rop", P_STRING|P_ONECOMMA|P_RCLR|P_VI_DEF,
2107 #ifdef FEAT_RENDER_OPTIONS
2108 			    (char_u *)&p_rop, PV_NONE,
2109 			    {(char_u *)"", (char_u *)0L}
2110 #else
2111 			    (char_u *)NULL, PV_NONE,
2112 			    {(char_u *)NULL, (char_u *)0L}
2113 #endif
2114 			    SCTX_INIT},
2115     {"report",	    NULL,   P_NUM|P_VI_DEF,
2116 			    (char_u *)&p_report, PV_NONE,
2117 			    {(char_u *)2L, (char_u *)0L} SCTX_INIT},
2118     {"restorescreen", "rs", P_BOOL|P_VI_DEF,
2119 #ifdef MSWIN
2120 			    (char_u *)&p_rs, PV_NONE,
2121 #else
2122 			    (char_u *)NULL, PV_NONE,
2123 #endif
2124 			    {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
2125     {"revins",	    "ri",   P_BOOL|P_VI_DEF|P_VIM,
2126 #ifdef FEAT_RIGHTLEFT
2127 			    (char_u *)&p_ri, PV_NONE,
2128 #else
2129 			    (char_u *)NULL, PV_NONE,
2130 #endif
2131 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2132     {"rightleft",   "rl",   P_BOOL|P_VI_DEF|P_RWIN,
2133 #ifdef FEAT_RIGHTLEFT
2134 			    (char_u *)VAR_WIN, PV_RL,
2135 #else
2136 			    (char_u *)NULL, PV_NONE,
2137 #endif
2138 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2139     {"rightleftcmd", "rlc", P_STRING|P_ALLOCED|P_VI_DEF|P_RWIN,
2140 #ifdef FEAT_RIGHTLEFT
2141 			    (char_u *)VAR_WIN, PV_RLC,
2142 			    {(char_u *)"search", (char_u *)NULL}
2143 #else
2144 			    (char_u *)NULL, PV_NONE,
2145 			    {(char_u *)NULL, (char_u *)0L}
2146 #endif
2147 			    SCTX_INIT},
2148     {"rubydll",     NULL,   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
2149 #if defined(DYNAMIC_RUBY)
2150 			    (char_u *)&p_rubydll, PV_NONE,
2151 			    {(char_u *)DYNAMIC_RUBY_DLL, (char_u *)0L}
2152 #else
2153 			    (char_u *)NULL, PV_NONE,
2154 			    {(char_u *)NULL, (char_u *)0L}
2155 #endif
2156 			    SCTX_INIT},
2157     {"ruler",	    "ru",   P_BOOL|P_VI_DEF|P_VIM|P_RSTAT,
2158 #ifdef FEAT_CMDL_INFO
2159 			    (char_u *)&p_ru, PV_NONE,
2160 #else
2161 			    (char_u *)NULL, PV_NONE,
2162 #endif
2163 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2164     {"rulerformat", "ruf",  P_STRING|P_VI_DEF|P_ALLOCED|P_RSTAT|P_MLE,
2165 #ifdef FEAT_STL_OPT
2166 			    (char_u *)&p_ruf, PV_NONE,
2167 #else
2168 			    (char_u *)NULL, PV_NONE,
2169 #endif
2170 			    {(char_u *)"", (char_u *)0L} SCTX_INIT},
2171     {"runtimepath", "rtp",  P_STRING|P_VI_DEF|P_EXPAND|P_ONECOMMA|P_NODUP
2172 								    |P_SECURE,
2173 			    (char_u *)&p_rtp, PV_NONE,
2174 			    {(char_u *)DFLT_RUNTIMEPATH, (char_u *)0L}
2175 			    SCTX_INIT},
2176     {"scroll",	    "scr",  P_NUM|P_NO_MKRC|P_VI_DEF,
2177 			    (char_u *)VAR_WIN, PV_SCROLL,
2178 			    {(char_u *)0L, (char_u *)0L} SCTX_INIT},
2179     {"scrollbind",  "scb",  P_BOOL|P_VI_DEF,
2180 			    (char_u *)VAR_WIN, PV_SCBIND,
2181 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2182     {"scrollfocus", "scf",  P_BOOL|P_VI_DEF,
2183 #if defined(MSWIN) && defined(FEAT_GUI)
2184 			    (char_u *)&p_scf, PV_NONE,
2185 #else
2186 			    (char_u *)NULL, PV_NONE,
2187 #endif
2188 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2189     {"scrolljump",  "sj",   P_NUM|P_VI_DEF|P_VIM,
2190 			    (char_u *)&p_sj, PV_NONE,
2191 			    {(char_u *)1L, (char_u *)0L} SCTX_INIT},
2192     {"scrolloff",   "so",   P_NUM|P_VI_DEF|P_VIM|P_RALL,
2193 			    (char_u *)&p_so, PV_SO,
2194 			    {(char_u *)0L, (char_u *)0L} SCTX_INIT},
2195     {"scrollopt",   "sbo",  P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
2196 			    (char_u *)&p_sbo, PV_NONE,
2197 			    {(char_u *)"ver,jump", (char_u *)0L}
2198 			    SCTX_INIT},
2199     {"sections",    "sect", P_STRING|P_VI_DEF,
2200 			    (char_u *)&p_sections, PV_NONE,
2201 			    {(char_u *)"SHNHH HUnhsh", (char_u *)0L}
2202 			    SCTX_INIT},
2203     {"secure",	    NULL,   P_BOOL|P_VI_DEF|P_SECURE,
2204 			    (char_u *)&p_secure, PV_NONE,
2205 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2206     {"selection",   "sel",  P_STRING|P_VI_DEF,
2207 			    (char_u *)&p_sel, PV_NONE,
2208 			    {(char_u *)"inclusive", (char_u *)0L}
2209 			    SCTX_INIT},
2210     {"selectmode",  "slm",  P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
2211 			    (char_u *)&p_slm, PV_NONE,
2212 			    {(char_u *)"", (char_u *)0L} SCTX_INIT},
2213     {"sessionoptions", "ssop", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
2214 #ifdef FEAT_SESSION
2215 			    (char_u *)&p_ssop, PV_NONE,
2216 	 {(char_u *)"blank,buffers,curdir,folds,help,options,tabpages,winsize,terminal",
2217 							       (char_u *)0L}
2218 #else
2219 			    (char_u *)NULL, PV_NONE,
2220 			    {(char_u *)0L, (char_u *)0L}
2221 #endif
2222 			    SCTX_INIT},
2223     {"shell",	    "sh",   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
2224 			    (char_u *)&p_sh, PV_NONE,
2225 			    {
2226 #ifdef VMS
2227 			    (char_u *)"-",
2228 #else
2229 # if defined(MSWIN)
2230 			    (char_u *)"",	// set in set_init_1()
2231 # else
2232 			    (char_u *)"sh",
2233 # endif
2234 #endif // VMS
2235 				(char_u *)0L} SCTX_INIT},
2236     {"shellcmdflag","shcf", P_STRING|P_VI_DEF|P_SECURE,
2237 			    (char_u *)&p_shcf, PV_NONE,
2238 			    {
2239 #if defined(MSWIN)
2240 			    (char_u *)"/c",
2241 #else
2242 			    (char_u *)"-c",
2243 #endif
2244 				(char_u *)0L} SCTX_INIT},
2245     {"shellpipe",   "sp",   P_STRING|P_VI_DEF|P_SECURE,
2246 #ifdef FEAT_QUICKFIX
2247 			    (char_u *)&p_sp, PV_NONE,
2248 			    {
2249 #if defined(UNIX)
2250 			    (char_u *)"| tee",
2251 #else
2252 			    (char_u *)">",
2253 #endif
2254 				(char_u *)0L}
2255 #else
2256 			    (char_u *)NULL, PV_NONE,
2257 			    {(char_u *)0L, (char_u *)0L}
2258 #endif
2259 			    SCTX_INIT},
2260     {"shellquote",  "shq",  P_STRING|P_VI_DEF|P_SECURE,
2261 			    (char_u *)&p_shq, PV_NONE,
2262 			    {(char_u *)"", (char_u *)0L} SCTX_INIT},
2263     {"shellredir",  "srr",  P_STRING|P_VI_DEF|P_SECURE,
2264 			    (char_u *)&p_srr, PV_NONE,
2265 			    {(char_u *)">", (char_u *)0L} SCTX_INIT},
2266     {"shellslash",  "ssl",   P_BOOL|P_VI_DEF,
2267 #ifdef BACKSLASH_IN_FILENAME
2268 			    (char_u *)&p_ssl, PV_NONE,
2269 #else
2270 			    (char_u *)NULL, PV_NONE,
2271 #endif
2272 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2273     {"shelltemp",   "stmp", P_BOOL,
2274 			    (char_u *)&p_stmp, PV_NONE,
2275 			    {(char_u *)FALSE, (char_u *)TRUE} SCTX_INIT},
2276     {"shelltype",   "st",   P_NUM|P_VI_DEF,
2277 #ifdef AMIGA
2278 			    (char_u *)&p_st, PV_NONE,
2279 #else
2280 			    (char_u *)NULL, PV_NONE,
2281 #endif
2282 			    {(char_u *)0L, (char_u *)0L} SCTX_INIT},
2283     {"shellxquote", "sxq",  P_STRING|P_VI_DEF|P_SECURE,
2284 			    (char_u *)&p_sxq, PV_NONE,
2285 			    {
2286 #if defined(UNIX) && defined(USE_SYSTEM)
2287 			    (char_u *)"\"",
2288 #else
2289 			    (char_u *)"",
2290 #endif
2291 				(char_u *)0L} SCTX_INIT},
2292     {"shellxescape", "sxe", P_STRING|P_VI_DEF|P_SECURE,
2293 			    (char_u *)&p_sxe, PV_NONE,
2294 			    {
2295 #if defined(MSWIN)
2296 			    (char_u *)"\"&|<>()@^",
2297 #else
2298 			    (char_u *)"",
2299 #endif
2300 				(char_u *)0L} SCTX_INIT},
2301     {"shiftround",  "sr",   P_BOOL|P_VI_DEF|P_VIM,
2302 			    (char_u *)&p_sr, PV_NONE,
2303 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2304     {"shiftwidth",  "sw",   P_NUM|P_VI_DEF,
2305 			    (char_u *)&p_sw, PV_SW,
2306 			    {(char_u *)8L, (char_u *)0L} SCTX_INIT},
2307     {"shortmess",   "shm",  P_STRING|P_VIM|P_FLAGLIST,
2308 			    (char_u *)&p_shm, PV_NONE,
2309 			    {(char_u *)"S", (char_u *)"filnxtToOS"}
2310 			    SCTX_INIT},
2311     {"shortname",   "sn",   P_BOOL|P_VI_DEF,
2312 			    (char_u *)&p_sn, PV_SN,
2313 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2314     {"showbreak",   "sbr",  P_STRING|P_VI_DEF|P_RALL,
2315 #ifdef FEAT_LINEBREAK
2316 			    (char_u *)&p_sbr, PV_SBR,
2317 #else
2318 			    (char_u *)NULL, PV_NONE,
2319 #endif
2320 			    {(char_u *)"", (char_u *)0L} SCTX_INIT},
2321     {"showcmd",	    "sc",   P_BOOL|P_VIM,
2322 #ifdef FEAT_CMDL_INFO
2323 			    (char_u *)&p_sc, PV_NONE,
2324 #else
2325 			    (char_u *)NULL, PV_NONE,
2326 #endif
2327 			    {(char_u *)FALSE,
2328 #ifdef UNIX
2329 				(char_u *)FALSE
2330 #else
2331 				(char_u *)TRUE
2332 #endif
2333 				} SCTX_INIT},
2334     {"showfulltag", "sft",  P_BOOL|P_VI_DEF,
2335 			    (char_u *)&p_sft, PV_NONE,
2336 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2337     {"showmatch",   "sm",   P_BOOL|P_VI_DEF,
2338 			    (char_u *)&p_sm, PV_NONE,
2339 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2340     {"showmode",    "smd",  P_BOOL|P_VIM,
2341 			    (char_u *)&p_smd, PV_NONE,
2342 			    {(char_u *)FALSE, (char_u *)TRUE} SCTX_INIT},
2343     {"showtabline", "stal", P_NUM|P_VI_DEF|P_RALL,
2344 			    (char_u *)&p_stal, PV_NONE,
2345 			    {(char_u *)1L, (char_u *)0L} SCTX_INIT},
2346     {"sidescroll",  "ss",   P_NUM|P_VI_DEF,
2347 			    (char_u *)&p_ss, PV_NONE,
2348 			    {(char_u *)0L, (char_u *)0L} SCTX_INIT},
2349     {"sidescrolloff", "siso", P_NUM|P_VI_DEF|P_VIM|P_RBUF,
2350 			    (char_u *)&p_siso, PV_SISO,
2351 			    {(char_u *)0L, (char_u *)0L} SCTX_INIT},
2352     {"signcolumn",   "scl",  P_STRING|P_ALLOCED|P_VI_DEF|P_RCLR,
2353 #ifdef FEAT_SIGNS
2354 			    (char_u *)VAR_WIN, PV_SCL,
2355 			    {(char_u *)"auto", (char_u *)0L}
2356 #else
2357 			    (char_u *)NULL, PV_NONE,
2358 			    {(char_u *)NULL, (char_u *)0L}
2359 #endif
2360 			    SCTX_INIT},
2361     {"slowopen",    "slow", P_BOOL|P_VI_DEF,
2362 			    (char_u *)NULL, PV_NONE,
2363 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2364     {"smartcase",   "scs",  P_BOOL|P_VI_DEF|P_VIM,
2365 			    (char_u *)&p_scs, PV_NONE,
2366 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2367     {"smartindent", "si",   P_BOOL|P_VI_DEF|P_VIM,
2368 #ifdef FEAT_SMARTINDENT
2369 			    (char_u *)&p_si, PV_SI,
2370 #else
2371 			    (char_u *)NULL, PV_NONE,
2372 #endif
2373 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2374     {"smarttab",    "sta",  P_BOOL|P_VI_DEF|P_VIM,
2375 			    (char_u *)&p_sta, PV_NONE,
2376 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2377     {"softtabstop", "sts",  P_NUM|P_VI_DEF|P_VIM,
2378 			    (char_u *)&p_sts, PV_STS,
2379 			    {(char_u *)0L, (char_u *)0L} SCTX_INIT},
2380     {"sourceany",   NULL,   P_BOOL|P_VI_DEF,
2381 			    (char_u *)NULL, PV_NONE,
2382 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2383     {"spell",	    NULL,   P_BOOL|P_VI_DEF|P_RWIN,
2384 #ifdef FEAT_SPELL
2385 			    (char_u *)VAR_WIN, PV_SPELL,
2386 #else
2387 			    (char_u *)NULL, PV_NONE,
2388 #endif
2389 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2390     {"spellcapcheck", "spc", P_STRING|P_ALLOCED|P_VI_DEF|P_RBUF,
2391 #ifdef FEAT_SPELL
2392 			    (char_u *)&p_spc, PV_SPC,
2393 			    {(char_u *)"[.?!]\\_[\\])'\"	 ]\\+", (char_u *)0L}
2394 #else
2395 			    (char_u *)NULL, PV_NONE,
2396 			    {(char_u *)0L, (char_u *)0L}
2397 #endif
2398 			    SCTX_INIT},
2399     {"spellfile",   "spf",  P_STRING|P_EXPAND|P_ALLOCED|P_VI_DEF|P_SECURE
2400 								  |P_ONECOMMA,
2401 #ifdef FEAT_SPELL
2402 			    (char_u *)&p_spf, PV_SPF,
2403 			    {(char_u *)"", (char_u *)0L}
2404 #else
2405 			    (char_u *)NULL, PV_NONE,
2406 			    {(char_u *)0L, (char_u *)0L}
2407 #endif
2408 			    SCTX_INIT},
2409     {"spelllang",   "spl",  P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA
2410 							     |P_RBUF|P_EXPAND,
2411 #ifdef FEAT_SPELL
2412 			    (char_u *)&p_spl, PV_SPL,
2413 			    {(char_u *)"en", (char_u *)0L}
2414 #else
2415 			    (char_u *)NULL, PV_NONE,
2416 			    {(char_u *)0L, (char_u *)0L}
2417 #endif
2418 			    SCTX_INIT},
2419     {"spelloptions", "spo",  P_STRING|P_ALLOCED|P_VI_DEF
2420 						    |P_ONECOMMA|P_NODUP|P_RBUF,
2421 #ifdef FEAT_SPELL
2422 			    (char_u *)&p_spo, PV_SPO,
2423 			    {(char_u *)"", (char_u *)0L}
2424 #else
2425 			    (char_u *)NULL, PV_NONE,
2426 			    {(char_u *)0L, (char_u *)0L}
2427 #endif
2428 			    SCTX_INIT},
2429     {"spellsuggest", "sps", P_STRING|P_VI_DEF|P_EXPAND|P_SECURE|P_ONECOMMA,
2430 #ifdef FEAT_SPELL
2431 			    (char_u *)&p_sps, PV_NONE,
2432 			    {(char_u *)"best", (char_u *)0L}
2433 #else
2434 			    (char_u *)NULL, PV_NONE,
2435 			    {(char_u *)0L, (char_u *)0L}
2436 #endif
2437 			    SCTX_INIT},
2438     {"splitbelow",  "sb",   P_BOOL|P_VI_DEF,
2439 			    (char_u *)&p_sb, PV_NONE,
2440 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2441     {"splitright",  "spr",  P_BOOL|P_VI_DEF,
2442 			    (char_u *)&p_spr, PV_NONE,
2443 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2444     {"startofline", "sol",  P_BOOL|P_VI_DEF|P_VIM,
2445 			    (char_u *)&p_sol, PV_NONE,
2446 			    {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
2447     {"statusline"  ,"stl",  P_STRING|P_VI_DEF|P_ALLOCED|P_RSTAT|P_MLE,
2448 #ifdef FEAT_STL_OPT
2449 			    (char_u *)&p_stl, PV_STL,
2450 #else
2451 			    (char_u *)NULL, PV_NONE,
2452 #endif
2453 			    {(char_u *)"", (char_u *)0L} SCTX_INIT},
2454     {"suffixes",    "su",   P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
2455 			    (char_u *)&p_su, PV_NONE,
2456 			    {(char_u *)".bak,~,.o,.h,.info,.swp,.obj",
2457 				(char_u *)0L} SCTX_INIT},
2458     {"suffixesadd", "sua",  P_STRING|P_VI_DEF|P_ALLOCED|P_ONECOMMA|P_NODUP,
2459 #ifdef FEAT_SEARCHPATH
2460 			    (char_u *)&p_sua, PV_SUA,
2461 			    {(char_u *)"", (char_u *)0L}
2462 #else
2463 			    (char_u *)NULL, PV_NONE,
2464 			    {(char_u *)0L, (char_u *)0L}
2465 #endif
2466 			    SCTX_INIT},
2467     {"swapfile",    "swf",  P_BOOL|P_VI_DEF|P_RSTAT,
2468 			    (char_u *)&p_swf, PV_SWF,
2469 			    {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
2470     {"swapsync",    "sws",  P_STRING|P_VI_DEF,
2471 			    (char_u *)&p_sws, PV_NONE,
2472 			    {(char_u *)"fsync", (char_u *)0L} SCTX_INIT},
2473     {"switchbuf",   "swb",  P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
2474 			    (char_u *)&p_swb, PV_NONE,
2475 			    {(char_u *)"", (char_u *)0L} SCTX_INIT},
2476     {"synmaxcol",   "smc",  P_NUM|P_VI_DEF|P_RBUF,
2477 #ifdef FEAT_SYN_HL
2478 			    (char_u *)&p_smc, PV_SMC,
2479 			    {(char_u *)3000L, (char_u *)0L}
2480 #else
2481 			    (char_u *)NULL, PV_NONE,
2482 			    {(char_u *)0L, (char_u *)0L}
2483 #endif
2484 			    SCTX_INIT},
2485     {"syntax",	    "syn",  P_STRING|P_ALLOCED|P_VI_DEF|P_NOGLOB|P_NFNAME,
2486 #ifdef FEAT_SYN_HL
2487 			    (char_u *)&p_syn, PV_SYN,
2488 			    {(char_u *)"", (char_u *)0L}
2489 #else
2490 			    (char_u *)NULL, PV_NONE,
2491 			    {(char_u *)0L, (char_u *)0L}
2492 #endif
2493 			    SCTX_INIT},
2494     {"tabline",	    "tal",  P_STRING|P_VI_DEF|P_RALL|P_MLE,
2495 #ifdef FEAT_STL_OPT
2496 			    (char_u *)&p_tal, PV_NONE,
2497 #else
2498 			    (char_u *)NULL, PV_NONE,
2499 #endif
2500 			    {(char_u *)"", (char_u *)0L} SCTX_INIT},
2501     {"tabpagemax",  "tpm",  P_NUM|P_VI_DEF,
2502 			    (char_u *)&p_tpm, PV_NONE,
2503 			    {(char_u *)10L, (char_u *)0L} SCTX_INIT},
2504     {"tabstop",	    "ts",   P_NUM|P_VI_DEF|P_RBUF,
2505 			    (char_u *)&p_ts, PV_TS,
2506 			    {(char_u *)8L, (char_u *)0L} SCTX_INIT},
2507     {"tagbsearch",  "tbs",   P_BOOL|P_VI_DEF,
2508 			    (char_u *)&p_tbs, PV_NONE,
2509 #ifdef VMS	// binary searching doesn't appear to work on VMS
2510 			    {(char_u *)0L, (char_u *)0L}
2511 #else
2512 			    {(char_u *)TRUE, (char_u *)0L}
2513 #endif
2514 			    SCTX_INIT},
2515     {"tagcase",	    "tc",   P_STRING|P_VIM,
2516 			    (char_u *)&p_tc, PV_TC,
2517 			    {(char_u *)"followic", (char_u *)"followic"} SCTX_INIT},
2518     {"tagfunc",    "tfu",   P_STRING|P_ALLOCED|P_VI_DEF|P_SECURE,
2519 #ifdef FEAT_EVAL
2520 			    (char_u *)&p_tfu, PV_TFU,
2521 			    {(char_u *)"", (char_u *)0L}
2522 #else
2523 			    (char_u *)NULL, PV_NONE,
2524 			    {(char_u *)0L, (char_u *)0L}
2525 #endif
2526 			    SCTX_INIT},
2527     {"taglength",   "tl",   P_NUM|P_VI_DEF,
2528 			    (char_u *)&p_tl, PV_NONE,
2529 			    {(char_u *)0L, (char_u *)0L} SCTX_INIT},
2530     {"tagrelative", "tr",   P_BOOL|P_VIM,
2531 			    (char_u *)&p_tr, PV_NONE,
2532 			    {(char_u *)FALSE, (char_u *)TRUE} SCTX_INIT},
2533     {"tags",	    "tag",  P_STRING|P_EXPAND|P_VI_DEF|P_ONECOMMA|P_NODUP,
2534 			    (char_u *)&p_tags, PV_TAGS,
2535 			    {
2536 #if defined(FEAT_EMACS_TAGS) && !defined(CASE_INSENSITIVE_FILENAME)
2537 			    (char_u *)"./tags,./TAGS,tags,TAGS",
2538 #else
2539 			    (char_u *)"./tags,tags",
2540 #endif
2541 				(char_u *)0L} SCTX_INIT},
2542     {"tagstack",    "tgst", P_BOOL|P_VI_DEF,
2543 			    (char_u *)&p_tgst, PV_NONE,
2544 			    {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
2545     {"tcldll",      NULL,   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
2546 #if defined(DYNAMIC_TCL)
2547 			    (char_u *)&p_tcldll, PV_NONE,
2548 			    {(char_u *)DYNAMIC_TCL_DLL, (char_u *)0L}
2549 #else
2550 			    (char_u *)NULL, PV_NONE,
2551 			    {(char_u *)0L, (char_u *)0L}
2552 #endif
2553 			    SCTX_INIT},
2554     {"term",	    NULL,   P_STRING|P_EXPAND|P_NODEFAULT|P_NO_MKRC|P_VI_DEF|P_RALL,
2555 			    (char_u *)&T_NAME, PV_NONE,
2556 			    {(char_u *)"", (char_u *)0L} SCTX_INIT},
2557     {"termbidi", "tbidi",   P_BOOL|P_VI_DEF,
2558 #ifdef FEAT_ARABIC
2559 			    (char_u *)&p_tbidi, PV_NONE,
2560 #else
2561 			    (char_u *)NULL, PV_NONE,
2562 #endif
2563 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2564     {"termencoding", "tenc", P_STRING|P_VI_DEF|P_RCLR,
2565 			    (char_u *)&p_tenc, PV_NONE,
2566 			    {(char_u *)"", (char_u *)0L}
2567 			    SCTX_INIT},
2568     {"termguicolors", "tgc", P_BOOL|P_VI_DEF|P_VIM|P_RCLR,
2569 #ifdef FEAT_TERMGUICOLORS
2570 			    (char_u *)&p_tgc, PV_NONE,
2571 			    {(char_u *)FALSE, (char_u *)FALSE}
2572 #else
2573 			    (char_u*)NULL, PV_NONE,
2574 			    {(char_u *)FALSE, (char_u *)FALSE}
2575 #endif
2576 			    SCTX_INIT},
2577     {"termwinkey", "twk",   P_STRING|P_ALLOCED|P_RWIN|P_VI_DEF,
2578 #ifdef FEAT_TERMINAL
2579 			    (char_u *)VAR_WIN, PV_TWK,
2580 			    {(char_u *)"", (char_u *)NULL}
2581 #else
2582 			    (char_u *)NULL, PV_NONE,
2583 			    {(char_u *)NULL, (char_u *)0L}
2584 #endif
2585 			    SCTX_INIT},
2586     {"termwinscroll", "twsl", P_NUM|P_VI_DEF|P_VIM|P_RBUF,
2587 #ifdef FEAT_TERMINAL
2588 			    (char_u *)&p_twsl, PV_TWSL,
2589 			    {(char_u *)10000L, (char_u *)10000L}
2590 #else
2591 			    (char_u *)NULL, PV_NONE,
2592 			    {(char_u *)NULL, (char_u *)0L}
2593 #endif
2594 			    SCTX_INIT},
2595     {"termwinsize", "tws",  P_STRING|P_ALLOCED|P_RWIN|P_VI_DEF,
2596 #ifdef FEAT_TERMINAL
2597 			    (char_u *)VAR_WIN, PV_TWS,
2598 			    {(char_u *)"", (char_u *)NULL}
2599 #else
2600 			    (char_u *)NULL, PV_NONE,
2601 			    {(char_u *)NULL, (char_u *)0L}
2602 #endif
2603 			    SCTX_INIT},
2604     {"termwintype", "twt",  P_STRING|P_ALLOCED|P_VI_DEF,
2605 #if defined(MSWIN) && defined(FEAT_TERMINAL)
2606 			    (char_u *)&p_twt, PV_NONE,
2607 			    {(char_u *)"", (char_u *)NULL}
2608 #else
2609 			    (char_u *)NULL, PV_NONE,
2610 			    {(char_u *)NULL, (char_u *)0L}
2611 #endif
2612 			    SCTX_INIT},
2613     {"terse",	    NULL,   P_BOOL|P_VI_DEF,
2614 			    (char_u *)&p_terse, PV_NONE,
2615 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2616     {"textauto",    "ta",   P_BOOL|P_VIM,
2617 			    (char_u *)&p_ta, PV_NONE,
2618 			    {(char_u *)DFLT_TEXTAUTO, (char_u *)TRUE}
2619 			    SCTX_INIT},
2620     {"textmode",    "tx",   P_BOOL|P_VI_DEF|P_NO_MKRC,
2621 			    (char_u *)&p_tx, PV_TX,
2622 			    {
2623 #ifdef USE_CRNL
2624 			    (char_u *)TRUE,
2625 #else
2626 			    (char_u *)FALSE,
2627 #endif
2628 				(char_u *)0L} SCTX_INIT},
2629     {"textwidth",   "tw",   P_NUM|P_VI_DEF|P_VIM|P_RBUF,
2630 			    (char_u *)&p_tw, PV_TW,
2631 			    {(char_u *)0L, (char_u *)0L} SCTX_INIT},
2632     {"thesaurus",   "tsr",  P_STRING|P_EXPAND|P_VI_DEF|P_ONECOMMA|P_NODUP|P_NDNAME,
2633 			    (char_u *)&p_tsr, PV_TSR,
2634 			    {(char_u *)"", (char_u *)0L} SCTX_INIT},
2635     {"thesaurusfunc", "tsrfu",  P_STRING|P_ALLOCED|P_VI_DEF|P_SECURE,
2636 #ifdef FEAT_COMPL_FUNC
2637 			    (char_u *)&p_tsrfu, PV_TSRFU,
2638 			    {(char_u *)"", (char_u *)0L}
2639 #else
2640 			    (char_u *)NULL, PV_NONE,
2641 			    {(char_u *)0L, (char_u *)0L}
2642 #endif
2643 			    SCTX_INIT},
2644     {"tildeop",	    "top",  P_BOOL|P_VI_DEF|P_VIM,
2645 			    (char_u *)&p_to, PV_NONE,
2646 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2647     {"timeout",	    "to",   P_BOOL|P_VI_DEF,
2648 			    (char_u *)&p_timeout, PV_NONE,
2649 			    {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
2650     {"timeoutlen",  "tm",   P_NUM|P_VI_DEF,
2651 			    (char_u *)&p_tm, PV_NONE,
2652 			    {(char_u *)1000L, (char_u *)0L} SCTX_INIT},
2653     {"title",	    NULL,   P_BOOL|P_VI_DEF,
2654 #ifdef FEAT_TITLE
2655 			    (char_u *)&p_title, PV_NONE,
2656 #else
2657 			    (char_u *)NULL, PV_NONE,
2658 #endif
2659 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2660     {"titlelen",    NULL,   P_NUM|P_VI_DEF,
2661 #ifdef FEAT_TITLE
2662 			    (char_u *)&p_titlelen, PV_NONE,
2663 #else
2664 			    (char_u *)NULL, PV_NONE,
2665 #endif
2666 			    {(char_u *)85L, (char_u *)0L} SCTX_INIT},
2667     {"titleold",    NULL,   P_STRING|P_VI_DEF|P_GETTEXT|P_SECURE|P_NO_MKRC,
2668 #ifdef FEAT_TITLE
2669 			    (char_u *)&p_titleold, PV_NONE,
2670 			    {(char_u *)N_("Thanks for flying Vim"),
2671 							       (char_u *)0L}
2672 #else
2673 			    (char_u *)NULL, PV_NONE,
2674 			    {(char_u *)0L, (char_u *)0L}
2675 #endif
2676 			    SCTX_INIT},
2677     {"titlestring", NULL,   P_STRING|P_VI_DEF|P_MLE,
2678 #ifdef FEAT_TITLE
2679 			    (char_u *)&p_titlestring, PV_NONE,
2680 #else
2681 			    (char_u *)NULL, PV_NONE,
2682 #endif
2683 			    {(char_u *)"", (char_u *)0L} SCTX_INIT},
2684     {"toolbar",     "tb",   P_STRING|P_ONECOMMA|P_VI_DEF|P_NODUP,
2685 #if defined(FEAT_TOOLBAR) && !defined(FEAT_GUI_MSWIN)
2686 			    (char_u *)&p_toolbar, PV_NONE,
2687 			    {(char_u *)"icons,tooltips", (char_u *)0L}
2688 #else
2689 			    (char_u *)NULL, PV_NONE,
2690 			    {(char_u *)0L, (char_u *)0L}
2691 #endif
2692 			    SCTX_INIT},
2693     {"toolbariconsize",	"tbis", P_STRING|P_VI_DEF,
2694 #if defined(FEAT_TOOLBAR) && defined(FEAT_GUI_GTK)
2695 			    (char_u *)&p_tbis, PV_NONE,
2696 			    {(char_u *)"small", (char_u *)0L}
2697 #else
2698 			    (char_u *)NULL, PV_NONE,
2699 			    {(char_u *)0L, (char_u *)0L}
2700 #endif
2701 			    SCTX_INIT},
2702     {"ttimeout",    NULL,   P_BOOL|P_VI_DEF|P_VIM,
2703 			    (char_u *)&p_ttimeout, PV_NONE,
2704 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2705     {"ttimeoutlen", "ttm",  P_NUM|P_VI_DEF,
2706 			    (char_u *)&p_ttm, PV_NONE,
2707 			    {(char_u *)-1L, (char_u *)0L} SCTX_INIT},
2708     {"ttybuiltin",  "tbi",  P_BOOL|P_VI_DEF,
2709 			    (char_u *)&p_tbi, PV_NONE,
2710 			    {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
2711     {"ttyfast",	    "tf",   P_BOOL|P_NO_MKRC|P_VI_DEF,
2712 			    (char_u *)&p_tf, PV_NONE,
2713 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2714     {"ttymouse",    "ttym", P_STRING|P_NODEFAULT|P_NO_MKRC|P_VI_DEF,
2715 #if defined(UNIX) || defined(VMS)
2716 			    (char_u *)&p_ttym, PV_NONE,
2717 #else
2718 			    (char_u *)NULL, PV_NONE,
2719 #endif
2720 			    {(char_u *)"", (char_u *)0L} SCTX_INIT},
2721     {"ttyscroll",   "tsl",  P_NUM|P_VI_DEF,
2722 			    (char_u *)&p_ttyscroll, PV_NONE,
2723 			    {(char_u *)999L, (char_u *)0L} SCTX_INIT},
2724     {"ttytype",	    "tty",  P_STRING|P_EXPAND|P_NODEFAULT|P_NO_MKRC|P_VI_DEF|P_RALL,
2725 			    (char_u *)&T_NAME, PV_NONE,
2726 			    {(char_u *)"", (char_u *)0L} SCTX_INIT},
2727     {"undodir",     "udir", P_STRING|P_EXPAND|P_ONECOMMA|P_NODUP|P_SECURE
2728 								    |P_VI_DEF,
2729 #ifdef FEAT_PERSISTENT_UNDO
2730 			    (char_u *)&p_udir, PV_NONE,
2731 			    {(char_u *)".", (char_u *)0L}
2732 #else
2733 			    (char_u *)NULL, PV_NONE,
2734 			    {(char_u *)0L, (char_u *)0L}
2735 #endif
2736 			    SCTX_INIT},
2737     {"undofile",    "udf",  P_BOOL|P_VI_DEF|P_VIM,
2738 #ifdef FEAT_PERSISTENT_UNDO
2739 			    (char_u *)&p_udf, PV_UDF,
2740 #else
2741 			    (char_u *)NULL, PV_NONE,
2742 #endif
2743 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2744     {"undolevels",  "ul",   P_NUM|P_VI_DEF,
2745 			    (char_u *)&p_ul, PV_UL,
2746 			    {
2747 #if defined(UNIX) || defined(MSWIN) || defined(VMS)
2748 			    (char_u *)1000L,
2749 #else
2750 			    (char_u *)100L,
2751 #endif
2752 				(char_u *)0L} SCTX_INIT},
2753     {"undoreload",  "ur",   P_NUM|P_VI_DEF,
2754 			    (char_u *)&p_ur, PV_NONE,
2755 			    { (char_u *)10000L, (char_u *)0L} SCTX_INIT},
2756     {"updatecount", "uc",   P_NUM|P_VI_DEF,
2757 			    (char_u *)&p_uc, PV_NONE,
2758 			    {(char_u *)200L, (char_u *)0L} SCTX_INIT},
2759     {"updatetime",  "ut",   P_NUM|P_VI_DEF,
2760 			    (char_u *)&p_ut, PV_NONE,
2761 			    {(char_u *)4000L, (char_u *)0L} SCTX_INIT},
2762     {"varsofttabstop", "vsts",  P_STRING|P_VI_DEF|P_VIM|P_COMMA,
2763 #ifdef FEAT_VARTABS
2764 			    (char_u *)&p_vsts, PV_VSTS,
2765 			    {(char_u *)"", (char_u *)0L}
2766 #else
2767 			    (char_u *)NULL, PV_NONE,
2768 			    {(char_u *)"", (char_u *)NULL}
2769 #endif
2770 			    SCTX_INIT},
2771     {"vartabstop",  "vts",  P_STRING|P_VI_DEF|P_VIM|P_RBUF|P_COMMA,
2772 #ifdef FEAT_VARTABS
2773 			    (char_u *)&p_vts, PV_VTS,
2774 			    {(char_u *)"", (char_u *)0L}
2775 #else
2776 			    (char_u *)NULL, PV_NONE,
2777 			    {(char_u *)"", (char_u *)NULL}
2778 #endif
2779 			    SCTX_INIT},
2780     {"verbose",	    "vbs",  P_NUM|P_VI_DEF,
2781 			    (char_u *)&p_verbose, PV_NONE,
2782 			    {(char_u *)0L, (char_u *)0L} SCTX_INIT},
2783     {"verbosefile", "vfile", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
2784 			    (char_u *)&p_vfile, PV_NONE,
2785 			    {(char_u *)"", (char_u *)0L} SCTX_INIT},
2786     {"viewdir",     "vdir", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
2787 #ifdef FEAT_SESSION
2788 			    (char_u *)&p_vdir, PV_NONE,
2789 			    {(char_u *)DFLT_VDIR, (char_u *)0L}
2790 #else
2791 			    (char_u *)NULL, PV_NONE,
2792 			    {(char_u *)0L, (char_u *)0L}
2793 #endif
2794 			    SCTX_INIT},
2795     {"viewoptions", "vop",  P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
2796 #ifdef FEAT_SESSION
2797 			    (char_u *)&p_vop, PV_NONE,
2798 			    {(char_u *)"folds,options,cursor,curdir",
2799 								  (char_u *)0L}
2800 #else
2801 			    (char_u *)NULL, PV_NONE,
2802 			    {(char_u *)0L, (char_u *)0L}
2803 #endif
2804 			    SCTX_INIT},
2805     {"viminfo",	    "vi",   P_STRING|P_ONECOMMA|P_NODUP|P_SECURE,
2806 #ifdef FEAT_VIMINFO
2807 			    (char_u *)&p_viminfo, PV_NONE,
2808 #if defined(MSWIN)
2809 			    {(char_u *)"", (char_u *)"'100,<50,s10,h,rA:,rB:"}
2810 #else
2811 # ifdef AMIGA
2812 			    {(char_u *)"",
2813 				 (char_u *)"'100,<50,s10,h,rdf0:,rdf1:,rdf2:"}
2814 # else
2815 			    {(char_u *)"", (char_u *)"'100,<50,s10,h"}
2816 # endif
2817 #endif
2818 #else
2819 			    (char_u *)NULL, PV_NONE,
2820 			    {(char_u *)0L, (char_u *)0L}
2821 #endif
2822 			    SCTX_INIT},
2823     {"viminfofile", "vif",  P_STRING|P_EXPAND|P_ONECOMMA|P_NODUP
2824 							    |P_SECURE|P_VI_DEF,
2825 #ifdef FEAT_VIMINFO
2826 			    (char_u *)&p_viminfofile, PV_NONE,
2827 			    {(char_u *)"", (char_u *)0L}
2828 #else
2829 			    (char_u *)NULL, PV_NONE,
2830 			    {(char_u *)0L, (char_u *)0L}
2831 #endif
2832 			    SCTX_INIT},
2833     {"virtualedit", "ve",   P_STRING|P_ONECOMMA|P_NODUP|P_VI_DEF
2834 							    |P_VIM|P_CURSWANT,
2835 			    (char_u *)&p_ve, PV_VE,
2836 			    {(char_u *)"", (char_u *)""}
2837 			    SCTX_INIT},
2838     {"visualbell",  "vb",   P_BOOL|P_VI_DEF,
2839 			    (char_u *)&p_vb, PV_NONE,
2840 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2841     {"w300",	    NULL,   P_NUM|P_VI_DEF,
2842 			    (char_u *)NULL, PV_NONE,
2843 			    {(char_u *)0L, (char_u *)0L} SCTX_INIT},
2844     {"w1200",	    NULL,   P_NUM|P_VI_DEF,
2845 			    (char_u *)NULL, PV_NONE,
2846 			    {(char_u *)0L, (char_u *)0L} SCTX_INIT},
2847     {"w9600",	    NULL,   P_NUM|P_VI_DEF,
2848 			    (char_u *)NULL, PV_NONE,
2849 			    {(char_u *)0L, (char_u *)0L} SCTX_INIT},
2850     {"warn",	    NULL,   P_BOOL|P_VI_DEF,
2851 			    (char_u *)&p_warn, PV_NONE,
2852 			    {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
2853     {"weirdinvert", "wiv",  P_BOOL|P_VI_DEF|P_RCLR,
2854 			    (char_u *)&p_wiv, PV_NONE,
2855 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2856     {"whichwrap",   "ww",   P_STRING|P_VIM|P_ONECOMMA|P_FLAGLIST,
2857 			    (char_u *)&p_ww, PV_NONE,
2858 			    {(char_u *)"", (char_u *)"b,s"} SCTX_INIT},
2859     {"wildchar",    "wc",   P_NUM|P_VIM,
2860 			    (char_u *)&p_wc, PV_NONE,
2861 			    {(char_u *)(long)Ctrl_E, (char_u *)(long)TAB}
2862 			    SCTX_INIT},
2863     {"wildcharm",   "wcm",  P_NUM|P_VI_DEF,
2864 			    (char_u *)&p_wcm, PV_NONE,
2865 			    {(char_u *)0L, (char_u *)0L} SCTX_INIT},
2866     {"wildignore",  "wig",  P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
2867 #ifdef FEAT_WILDIGN
2868 			    (char_u *)&p_wig, PV_NONE,
2869 #else
2870 			    (char_u *)NULL, PV_NONE,
2871 #endif
2872 			    {(char_u *)"", (char_u *)0L} SCTX_INIT},
2873     {"wildignorecase", "wic", P_BOOL|P_VI_DEF,
2874 			    (char_u *)&p_wic, PV_NONE,
2875 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2876     {"wildmenu",    "wmnu", P_BOOL|P_VI_DEF,
2877 #ifdef FEAT_WILDMENU
2878 			    (char_u *)&p_wmnu, PV_NONE,
2879 #else
2880 			    (char_u *)NULL, PV_NONE,
2881 #endif
2882 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2883     {"wildmode",    "wim",  P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
2884 			    (char_u *)&p_wim, PV_NONE,
2885 			    {(char_u *)"full", (char_u *)0L} SCTX_INIT},
2886     {"wildoptions", "wop",  P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
2887 			    (char_u *)&p_wop, PV_NONE,
2888 			    {(char_u *)"", (char_u *)0L}
2889 			    SCTX_INIT},
2890     {"winaltkeys",  "wak",  P_STRING|P_VI_DEF,
2891 #ifdef FEAT_WAK
2892 			    (char_u *)&p_wak, PV_NONE,
2893 			    {(char_u *)"menu", (char_u *)0L}
2894 #else
2895 			    (char_u *)NULL, PV_NONE,
2896 			    {(char_u *)NULL, (char_u *)0L}
2897 #endif
2898 			    SCTX_INIT},
2899     {"wincolor", "wcr",	    P_STRING|P_ALLOCED|P_VI_DEF|P_RWIN,
2900 			    (char_u *)VAR_WIN, PV_WCR,
2901 			    {(char_u *)"", (char_u *)NULL}
2902 			    SCTX_INIT},
2903     {"window",	    "wi",   P_NUM|P_VI_DEF,
2904 			    (char_u *)&p_window, PV_NONE,
2905 			    {(char_u *)0L, (char_u *)0L} SCTX_INIT},
2906     {"winheight",   "wh",   P_NUM|P_VI_DEF,
2907 			    (char_u *)&p_wh, PV_NONE,
2908 			    {(char_u *)1L, (char_u *)0L} SCTX_INIT},
2909     {"winfixheight", "wfh", P_BOOL|P_VI_DEF|P_RSTAT,
2910 			    (char_u *)VAR_WIN, PV_WFH,
2911 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2912     {"winfixwidth", "wfw", P_BOOL|P_VI_DEF|P_RSTAT,
2913 			    (char_u *)VAR_WIN, PV_WFW,
2914 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2915     {"winminheight", "wmh", P_NUM|P_VI_DEF,
2916 			    (char_u *)&p_wmh, PV_NONE,
2917 			    {(char_u *)1L, (char_u *)0L} SCTX_INIT},
2918     {"winminwidth", "wmw", P_NUM|P_VI_DEF,
2919 			    (char_u *)&p_wmw, PV_NONE,
2920 			    {(char_u *)1L, (char_u *)0L} SCTX_INIT},
2921     {"winptydll", NULL,	    P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
2922 #if defined(MSWIN) && defined(FEAT_TERMINAL)
2923 			    (char_u *)&p_winptydll, PV_NONE, {
2924 # ifdef _WIN64
2925 			    (char_u *)"winpty64.dll",
2926 # else
2927 			    (char_u *)"winpty32.dll",
2928 # endif
2929 				(char_u *)0L}
2930 #else
2931 			    (char_u *)NULL, PV_NONE,
2932 			    {(char_u *)0L, (char_u *)0L}
2933 #endif
2934 			    SCTX_INIT},
2935     {"winwidth",   "wiw",   P_NUM|P_VI_DEF,
2936 			    (char_u *)&p_wiw, PV_NONE,
2937 			    {(char_u *)20L, (char_u *)0L} SCTX_INIT},
2938     {"wrap",	    NULL,   P_BOOL|P_VI_DEF|P_RWIN,
2939 			    (char_u *)VAR_WIN, PV_WRAP,
2940 			    {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
2941     {"wrapmargin",  "wm",   P_NUM|P_VI_DEF,
2942 			    (char_u *)&p_wm, PV_WM,
2943 			    {(char_u *)0L, (char_u *)0L} SCTX_INIT},
2944     {"wrapscan",    "ws",   P_BOOL|P_VI_DEF,
2945 			    (char_u *)&p_ws, PV_NONE,
2946 			    {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
2947     {"write",	    NULL,   P_BOOL|P_VI_DEF,
2948 			    (char_u *)&p_write, PV_NONE,
2949 			    {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
2950     {"writeany",    "wa",   P_BOOL|P_VI_DEF,
2951 			    (char_u *)&p_wa, PV_NONE,
2952 			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2953     {"writebackup", "wb",   P_BOOL|P_VI_DEF|P_VIM,
2954 			    (char_u *)&p_wb, PV_NONE,
2955 			    {
2956 #ifdef FEAT_WRITEBACKUP
2957 			    (char_u *)TRUE,
2958 #else
2959 			    (char_u *)FALSE,
2960 #endif
2961 				(char_u *)0L} SCTX_INIT},
2962     {"writedelay",  "wd",   P_NUM|P_VI_DEF,
2963 			    (char_u *)&p_wd, PV_NONE,
2964 			    {(char_u *)0L, (char_u *)0L} SCTX_INIT},
2965 
2966 // terminal output codes
2967 #define p_term(sss, vvv)   {sss, NULL, P_STRING|P_VI_DEF|P_RALL|P_SECURE, \
2968 			    (char_u *)&vvv, PV_NONE, \
2969 			    {(char_u *)"", (char_u *)0L} SCTX_INIT},
2970 
2971     p_term("t_AB", T_CAB)
2972     p_term("t_AF", T_CAF)
2973     p_term("t_AU", T_CAU)
2974     p_term("t_AL", T_CAL)
2975     p_term("t_al", T_AL)
2976     p_term("t_bc", T_BC)
2977     p_term("t_BE", T_BE)
2978     p_term("t_BD", T_BD)
2979     p_term("t_cd", T_CD)
2980     p_term("t_ce", T_CE)
2981     p_term("t_cl", T_CL)
2982     p_term("t_cm", T_CM)
2983     p_term("t_Ce", T_UCE)
2984     p_term("t_Co", T_CCO)
2985     p_term("t_CS", T_CCS)
2986     p_term("t_Cs", T_UCS)
2987     p_term("t_cs", T_CS)
2988     p_term("t_CV", T_CSV)
2989     p_term("t_da", T_DA)
2990     p_term("t_db", T_DB)
2991     p_term("t_DL", T_CDL)
2992     p_term("t_dl", T_DL)
2993     p_term("t_EC", T_CEC)
2994     p_term("t_EI", T_CEI)
2995     p_term("t_fs", T_FS)
2996     p_term("t_fd", T_FD)
2997     p_term("t_fe", T_FE)
2998     p_term("t_GP", T_CGP)
2999     p_term("t_IE", T_CIE)
3000     p_term("t_IS", T_CIS)
3001     p_term("t_ke", T_KE)
3002     p_term("t_ks", T_KS)
3003     p_term("t_le", T_LE)
3004     p_term("t_mb", T_MB)
3005     p_term("t_md", T_MD)
3006     p_term("t_me", T_ME)
3007     p_term("t_mr", T_MR)
3008     p_term("t_ms", T_MS)
3009     p_term("t_nd", T_ND)
3010     p_term("t_op", T_OP)
3011     p_term("t_RF", T_RFG)
3012     p_term("t_RB", T_RBG)
3013     p_term("t_RC", T_CRC)
3014     p_term("t_RI", T_CRI)
3015     p_term("t_Ri", T_SRI)
3016     p_term("t_RS", T_CRS)
3017     p_term("t_RT", T_CRT)
3018     p_term("t_RV", T_CRV)
3019     p_term("t_Sb", T_CSB)
3020     p_term("t_SC", T_CSC)
3021     p_term("t_se", T_SE)
3022     p_term("t_Sf", T_CSF)
3023     p_term("t_SH", T_CSH)
3024     p_term("t_SI", T_CSI)
3025     p_term("t_Si", T_SSI)
3026     p_term("t_so", T_SO)
3027     p_term("t_SR", T_CSR)
3028     p_term("t_sr", T_SR)
3029     p_term("t_ST", T_CST)
3030     p_term("t_Te", T_STE)
3031     p_term("t_te", T_TE)
3032     p_term("t_TE", T_CTE)
3033     p_term("t_ti", T_TI)
3034     p_term("t_TI", T_CTI)
3035     p_term("t_Ts", T_STS)
3036     p_term("t_ts", T_TS)
3037     p_term("t_u7", T_U7)
3038     p_term("t_ue", T_UE)
3039     p_term("t_us", T_US)
3040     p_term("t_ut", T_UT)
3041     p_term("t_vb", T_VB)
3042     p_term("t_ve", T_VE)
3043     p_term("t_vi", T_VI)
3044     p_term("t_VS", T_CVS)
3045     p_term("t_vs", T_VS)
3046     p_term("t_WP", T_CWP)
3047     p_term("t_WS", T_CWS)
3048     p_term("t_xn", T_XN)
3049     p_term("t_xs", T_XS)
3050     p_term("t_ZH", T_CZH)
3051     p_term("t_ZR", T_CZR)
3052     p_term("t_8f", T_8F)
3053     p_term("t_8b", T_8B)
3054     p_term("t_8u", T_8U)
3055 
3056 // terminal key codes are not in here
3057 
3058     // end marker
3059     {NULL, NULL, 0, NULL, PV_NONE, {NULL, NULL} SCTX_INIT}
3060 };
3061 
3062 #define OPTION_COUNT ARRAY_LENGTH(options)
3063 
3064 // The following is needed to make the gen_opt_test.vim script work.
3065 // {"
3066