annotate src/proto/optionstr.pro @ 33864:6e4c686b6b5b v9.0.2142

patch 9.0.2142: [security]: stack-buffer-overflow in option callback functions Commit: https://github.com/vim/vim/commit/b39b240c386a5a29241415541f1c99e2e6b8ce47 Author: Christian Brabandt <cb@256bit.org> Date: Wed Nov 29 11:34:05 2023 +0100 patch 9.0.2142: [security]: stack-buffer-overflow in option callback functions Problem: [security]: stack-buffer-overflow in option callback functions Solution: pass size of errbuf down the call stack, use snprintf() instead of sprintf() We pass the error buffer down to the option callback functions, but in some parts of the code, we simply use sprintf(buf) to write into the error buffer, which can overflow. So let's pass down the length of the error buffer and use sprintf(buf, size) instead. Reported by @henices, thanks! Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Sun, 10 Dec 2023 15:16:04 +0100
parents 46d449fd4fe4
children 2f9090601258
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
18100
df5778d73320 patch 8.1.2045: the option.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1 /* optionstr.c */
df5778d73320 patch 8.1.2045: the option.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
2 void didset_string_options(void);
31259
a7dba627a21b patch 9.0.0963: function name does not match autocmd event name
Bram Moolenaar <Bram@vim.org>
parents: 29509
diff changeset
3 void trigger_optionset_string(int opt_idx, int opt_flags, char_u *oldval, char_u *oldval_l, char_u *oldval_g, char_u *newval);
18100
df5778d73320 patch 8.1.2045: the option.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
4 void check_buf_options(buf_T *buf);
df5778d73320 patch 8.1.2045: the option.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
5 void free_string_option(char_u *p);
df5778d73320 patch 8.1.2045: the option.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
6 void clear_string_option(char_u **pp);
df5778d73320 patch 8.1.2045: the option.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
7 void check_string_option(char_u **pp);
df5778d73320 patch 8.1.2045: the option.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
8 void set_string_option_direct(char_u *name, int opt_idx, char_u *val, int opt_flags, int set_sid);
df5778d73320 patch 8.1.2045: the option.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
9 void set_string_option_direct_in_win(win_T *wp, char_u *name, int opt_idx, char_u *val, int opt_flags, int set_sid);
df5778d73320 patch 8.1.2045: the option.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
10 void set_string_option_direct_in_buf(buf_T *buf, char_u *name, int opt_idx, char_u *val, int opt_flags, int set_sid);
33864
6e4c686b6b5b patch 9.0.2142: [security]: stack-buffer-overflow in option callback functions
Christian Brabandt <cb@256bit.org>
parents: 33555
diff changeset
11 char *set_string_option(int opt_idx, char_u *value, int opt_flags, char *errbuf, int errbuflen);
32070
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
12 char *did_set_ambiwidth(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
13 char *did_set_background(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
14 char *did_set_backspace(optset_T *args);
31996
ca6bc7c04163 patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents: 31950
diff changeset
15 char *did_set_backupcopy(optset_T *args);
ca6bc7c04163 patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents: 31950
diff changeset
16 char *did_set_backupext_or_patchmode(optset_T *args);
32070
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
17 char *did_set_belloff(optset_T *args);
31996
ca6bc7c04163 patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents: 31950
diff changeset
18 char *did_set_breakindentopt(optset_T *args);
32070
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
19 char *did_set_browsedir(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
20 char *did_set_bufhidden(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
21 char *did_set_buftype(optset_T *args);
32027
ef124f222fc2 patch 9.0.1345: too many "else if" statements for handling options
Bram Moolenaar <Bram@vim.org>
parents: 31996
diff changeset
22 char *did_set_casemap(optset_T *args);
32076
32acf287a9ae patch 9.0.1369: still some "else if" constructs for setting options
Bram Moolenaar <Bram@vim.org>
parents: 32070
diff changeset
23 char *did_set_chars_option(optset_T *args);
32070
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
24 char *did_set_cinoptions(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
25 char *did_set_colorcolumn(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
26 char *did_set_comments(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
27 char *did_set_commentstring(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
28 char *did_set_complete(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
29 char *did_set_completeopt(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
30 char *did_set_completepopup(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
31 char *did_set_completeslash(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
32 char *did_set_concealcursor(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
33 char *did_set_cpoptions(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
34 char *did_set_cryptkey(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
35 char *did_set_cryptmethod(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
36 char *did_set_cscopequickfix(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
37 char *did_set_cursorlineopt(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
38 char *did_set_debug(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
39 char *did_set_diffopt(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
40 char *did_set_display(optset_T *args);
32027
ef124f222fc2 patch 9.0.1345: too many "else if" statements for handling options
Bram Moolenaar <Bram@vim.org>
parents: 31996
diff changeset
41 char *did_set_eadirection(optset_T *args);
32086
45142117e206 patch 9.0.1374: function for setting options not used consistently
Bram Moolenaar <Bram@vim.org>
parents: 32076
diff changeset
42 char *did_set_encoding(optset_T *args);
31996
ca6bc7c04163 patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents: 31950
diff changeset
43 char *did_set_eventignore(optset_T *args);
ca6bc7c04163 patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents: 31950
diff changeset
44 char *did_set_fileformat(optset_T *args);
ca6bc7c04163 patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents: 31950
diff changeset
45 char *did_set_fileformats(optset_T *args);
32070
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
46 char *did_set_filetype_or_syntax(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
47 char *did_set_foldclose(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
48 char *did_set_foldexpr(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
49 char *did_set_foldignore(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
50 char *did_set_foldmarker(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
51 char *did_set_foldmethod(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
52 char *did_set_foldopen(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
53 char *did_set_formatoptions(optset_T *args);
32043
6095218c9056 patch 9.0.1353: too many "else if" statements to handle option values
Bram Moolenaar <Bram@vim.org>
parents: 32027
diff changeset
54 char *did_set_guicursor(optset_T *args);
31996
ca6bc7c04163 patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents: 31950
diff changeset
55 char *did_set_guifont(optset_T *args);
ca6bc7c04163 patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents: 31950
diff changeset
56 char *did_set_guifontset(optset_T *args);
ca6bc7c04163 patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents: 31950
diff changeset
57 char *did_set_guifontwide(optset_T *args);
ca6bc7c04163 patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents: 31950
diff changeset
58 char *did_set_guiligatures(optset_T *args);
ca6bc7c04163 patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents: 31950
diff changeset
59 char *did_set_guioptions(optset_T *args);
ca6bc7c04163 patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents: 31950
diff changeset
60 char *did_set_guitablabel(optset_T *args);
32070
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
61 char *did_set_helpfile(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
62 char *did_set_helplang(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
63 char *did_set_highlight(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
64 char *did_set_iconstring(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
65 char *did_set_imactivatekey(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
66 char *did_set_isopt(optset_T *args);
33311
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 32096
diff changeset
67 char *did_set_jumpoptions(optset_T *args);
32070
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
68 char *did_set_keymap(optset_T *args);
31996
ca6bc7c04163 patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents: 31950
diff changeset
69 char *did_set_keymodel(optset_T *args);
ca6bc7c04163 patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents: 31950
diff changeset
70 char *did_set_keyprotocol(optset_T *args);
32070
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
71 char *did_set_lispoptions(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
72 char *did_set_matchpairs(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
73 char *did_set_mkspellmem(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
74 char *did_set_mouse(optset_T *args);
31996
ca6bc7c04163 patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents: 31950
diff changeset
75 char *did_set_mousemodel(optset_T *args);
32070
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
76 char *did_set_mouseshape(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
77 char *did_set_nrformats(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
78 char *did_set_optexpr(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
79 char *did_set_pastetoggle(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
80 char *did_set_previewpopup(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
81 char *did_set_printencoding(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
82 char *did_set_renderoptions(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
83 char *did_set_rightleftcmd(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
84 char *did_set_rulerformat(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
85 char *did_set_scrollopt(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
86 char *did_set_selection(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
87 char *did_set_selectmode(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
88 char *did_set_sessionoptions(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
89 char *did_set_shortmess(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
90 char *did_set_showbreak(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
91 char *did_set_showcmdloc(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
92 char *did_set_signcolumn(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
93 char *did_set_spellcapcheck(optset_T *args);
31996
ca6bc7c04163 patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents: 31950
diff changeset
94 char *did_set_spellfile(optset_T *args);
ca6bc7c04163 patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents: 31950
diff changeset
95 char *did_set_spelllang(optset_T *args);
ca6bc7c04163 patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents: 31950
diff changeset
96 char *did_set_spelloptions(optset_T *args);
ca6bc7c04163 patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents: 31950
diff changeset
97 char *did_set_spellsuggest(optset_T *args);
32070
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
98 char *did_set_splitkeep(optset_T *args);
31996
ca6bc7c04163 patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents: 31950
diff changeset
99 char *did_set_statusline(optset_T *args);
32070
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
100 char *did_set_swapsync(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
101 char *did_set_switchbuf(optset_T *args);
31996
ca6bc7c04163 patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents: 31950
diff changeset
102 char *did_set_tabline(optset_T *args);
ca6bc7c04163 patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents: 31950
diff changeset
103 char *did_set_tagcase(optset_T *args);
32096
e7ab58f57ea3 patch 9.0.1379: functions for handling options are not ordered
Bram Moolenaar <Bram@vim.org>
parents: 32086
diff changeset
104 char *did_set_term(optset_T *args);
32086
45142117e206 patch 9.0.1374: function for setting options not used consistently
Bram Moolenaar <Bram@vim.org>
parents: 32076
diff changeset
105 char *did_set_term_option(optset_T *args);
31996
ca6bc7c04163 patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents: 31950
diff changeset
106 char *did_set_termwinkey(optset_T *args);
ca6bc7c04163 patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents: 31950
diff changeset
107 char *did_set_termwinsize(optset_T *args);
32027
ef124f222fc2 patch 9.0.1345: too many "else if" statements for handling options
Bram Moolenaar <Bram@vim.org>
parents: 31996
diff changeset
108 char *did_set_termwintype(optset_T *args);
32070
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
109 char *did_set_titlestring(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
110 char *did_set_toolbar(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
111 char *did_set_toolbariconsize(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
112 char *did_set_ttymouse(optset_T *args);
31996
ca6bc7c04163 patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents: 31950
diff changeset
113 char *did_set_varsofttabstop(optset_T *args);
ca6bc7c04163 patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents: 31950
diff changeset
114 char *did_set_vartabstop(optset_T *args);
32070
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
115 char *did_set_verbosefile(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
116 char *did_set_viewoptions(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
117 char *did_set_viminfo(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
118 char *did_set_virtualedit(optset_T *args);
32043
6095218c9056 patch 9.0.1353: too many "else if" statements to handle option values
Bram Moolenaar <Bram@vim.org>
parents: 32027
diff changeset
119 char *did_set_whichwrap(optset_T *args);
32070
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
120 char *did_set_wildmode(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
121 char *did_set_wildoptions(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
122 char *did_set_winaltkeys(optset_T *args);
ef85a4440947 patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents: 32055
diff changeset
123 char *did_set_wincolor(optset_T *args);
33864
6e4c686b6b5b patch 9.0.2142: [security]: stack-buffer-overflow in option callback functions
Christian Brabandt <cb@256bit.org>
parents: 33555
diff changeset
124 char *did_set_string_option(int opt_idx, char_u **varp, char_u *oldval, char_u *value, char *errbuf, int errbuflen, int opt_flags, set_op_T op, int *value_checked);
33399
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
125 int expand_set_ambiwidth(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
126 int expand_set_background(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
127 int expand_set_backspace(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
128 int expand_set_backupcopy(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
129 int expand_set_belloff(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
130 int expand_set_breakindentopt(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
131 int expand_set_browsedir(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
132 int expand_set_bufhidden(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
133 int expand_set_buftype(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
134 int expand_set_casemap(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
135 int expand_set_chars_option(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
136 int expand_set_clipboard(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
137 int expand_set_complete(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
138 int expand_set_completeopt(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
139 int expand_set_completeslash(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
140 int expand_set_concealcursor(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
141 int expand_set_cpoptions(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
142 int expand_set_cryptmethod(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
143 int expand_set_cursorlineopt(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
144 int expand_set_debug(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
145 int expand_set_diffopt(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
146 int expand_set_display(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
147 int expand_set_eadirection(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
148 int expand_set_encoding(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
149 int expand_set_eventignore(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
150 int expand_set_fileformat(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
151 int expand_set_foldclose(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
152 int expand_set_foldmethod(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
153 int expand_set_foldopen(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
154 int expand_set_formatoptions(optexpand_T *args, int *numMatches, char_u ***matches);
33480
f8dd278ab05f patch 9.0.1991: no cmdline completion for setting the font
Christian Brabandt <cb@256bit.org>
parents: 33420
diff changeset
155 int expand_set_guifont(optexpand_T *args, int *numMatches, char_u ***matches);
33399
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
156 int expand_set_guioptions(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
157 int expand_set_highlight(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
158 int expand_set_jumpoptions(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
159 int expand_set_keymodel(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
160 int expand_set_keyprotocol(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
161 int expand_set_lispoptions(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
162 int expand_set_mouse(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
163 int expand_set_mousemodel(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
164 int expand_set_nrformats(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
165 int expand_set_popupoption(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
166 int expand_set_printoptions(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
167 int expand_set_rightleftcmd(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
168 int expand_set_scrollopt(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
169 int expand_set_selection(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
170 int expand_set_selectmode(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
171 int expand_set_sessionoptions(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
172 int expand_set_shortmess(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
173 int expand_set_showcmdloc(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
174 int expand_set_signcolumn(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
175 int expand_set_spelloptions(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
176 int expand_set_spellsuggest(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
177 int expand_set_splitkeep(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
178 int expand_set_swapsync(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
179 int expand_set_switchbuf(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
180 int expand_set_tagcase(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
181 int expand_set_termwintype(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
182 int expand_set_toolbar(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
183 int expand_set_toolbariconsize(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
184 int expand_set_ttymouse(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
185 int expand_set_virtualedit(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
186 int expand_set_whichwrap(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
187 int expand_set_wildmode(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
188 int expand_set_wildoptions(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
189 int expand_set_winaltkeys(optexpand_T *args, int *numMatches, char_u ***matches);
95db67c7b754 patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
190 int expand_set_wincolor(optexpand_T *args, int *numMatches, char_u ***matches);
18100
df5778d73320 patch 8.1.2045: the option.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
191 int check_ff_value(char_u *p);
33555
46d449fd4fe4 patch 9.0.2025: no cmdline completion for ++opt args
Christian Brabandt <cb@256bit.org>
parents: 33480
diff changeset
192 char_u *get_fileformat_name(expand_T *xp, int idx);
31463
db72745d328c patch 9.0.1064: code for making 'shortmess' temporarily empty is repeated
Bram Moolenaar <Bram@vim.org>
parents: 31259
diff changeset
193 void save_clear_shm_value(void);
db72745d328c patch 9.0.1064: code for making 'shortmess' temporarily empty is repeated
Bram Moolenaar <Bram@vim.org>
parents: 31259
diff changeset
194 void restore_shm_value(void);
18100
df5778d73320 patch 8.1.2045: the option.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
195 /* vim: set ft=c : */