diff --git a/src/proto/option.pro b/src/proto/option.pro
index e842484..d6c8558 100644
--- a/src/proto/option.pro
+++ b/src/proto/option.pro
@@ -10,22 +10,32 @@
 void init_gui_options(void);
 void set_title_defaults(void);
 int do_set(char_u *arg, int opt_flags);
+void did_set_option(int opt_idx, int opt_flags, int new_value, int value_checked);
 int string_to_key(char_u *arg, int multi_byte);
+char *check_cedit(void);
+void did_set_title(void);
 void set_options_bin(int oldval, int newval, int opt_flags);
 void check_options(void);
-void check_buf_options(buf_T *buf);
-void free_string_option(char_u *p);
-void clear_string_option(char_u **pp);
 int get_term_opt_idx(char_u **p);
 int set_term_option_alloced(char_u **p);
 int was_set_insecurely(char_u *opt, int opt_flags);
-void set_string_option_direct(char_u *name, int opt_idx, char_u *val, int opt_flags, int set_sid);
-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);
-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);
+void redraw_titles(void);
 int valid_name(char_u *val, char *allowed);
+char *check_clipboard_option(void);
+void set_option_sctx_idx(int opt_idx, int opt_flags, sctx_T script_ctx);
 void set_term_option_sctx_idx(char *name, int opt_idx);
+void check_redraw(long_u flags);
+int findoption(char_u *arg);
 int get_option_value(char_u *name, long *numval, char_u **stringval, int opt_flags);
 int get_option_value_strict(char_u *name, long *numval, char_u **stringval, int opt_type, void *from);
+long_u get_option_flags(int opt_idx);
+void set_option_flag(int opt_idx, long_u flag);
+void clear_option_flag(int opt_idx, long_u flag);
+int is_global_option(int opt_idx);
+int is_global_local_option(int opt_idx);
+int is_window_local_option(int opt_idx);
+int is_hidden_option(int opt_idx);
+int is_crypt_key_option(int opt_idx);
 char_u *option_iter_next(void **option, int opt_type);
 char *set_option_value(char_u *name, long number, char_u *string, int opt_flags);
 char_u *get_term_code(char_u *tname);
@@ -37,7 +47,11 @@
 void free_termoptions(void);
 void free_one_termoption(char_u *var);
 void set_term_defaults(void);
+int istermoption_idx(int opt_idx);
 void unset_global_local_option(char_u *name, void *from);
+char_u *get_option_varp_scope(int opt_idx, int opt_flags);
+char_u *get_option_var(int opt_idx);
+char_u *get_option_fullname(int opt_idx);
 char_u *get_equalprg(void);
 void win_copy_options(win_T *wp_from, win_T *wp_to);
 void copy_winopt(winopt_T *from, winopt_T *to);
@@ -55,10 +69,11 @@
 void change_compatible(int on);
 int option_was_set(char_u *name);
 int reset_option_was_set(char_u *name);
+void fill_breakat_flags(void);
+int check_opt_wim(void);
 int can_bs(int what);
 void save_file_ff(buf_T *buf);
 int file_ff_differs(buf_T *buf, int ignore_empty);
-int check_ff_value(char_u *p);
 int tabstop_set(char_u *var, int **array);
 int tabstop_padding(colnr_T col, int ts_arg, int *vts);
 int tabstop_at(colnr_T col, int ts, int *vts);
@@ -75,7 +90,9 @@
 long get_scrolloff_value(void);
 long get_sidescrolloff_value(void);
 void find_mps_values(int *initc, int *findc, int *backwards, int switchit);
+int briopt_check(win_T *wp);
 unsigned int get_bkc_value(buf_T *buf);
 int signcolumn_on(win_T *wp);
 dict_T *get_winbuf_options(int bufopt);
+int fill_culopt_flags(char_u *val, win_T *wp);
 /* vim: set ft=c : */
diff --git a/src/proto/optionstr.pro b/src/proto/optionstr.pro
new file mode 100644
index 0000000..dc1079e
--- /dev/null
+++ b/src/proto/optionstr.pro
@@ -0,0 +1,14 @@
+/* optionstr.c */
+void didset_string_options(void);
+void trigger_optionsset_string(int opt_idx, int opt_flags, char_u *oldval, char_u *oldval_l, char_u *oldval_g, char_u *newval);
+char *did_set_string_option(int opt_idx, char_u **varp, int new_value_alloced, char_u *oldval, char *errbuf, int opt_flags, int *value_checked);
+void check_buf_options(buf_T *buf);
+void free_string_option(char_u *p);
+void clear_string_option(char_u **pp);
+void check_string_option(char_u **pp);
+void set_string_option_direct(char_u *name, int opt_idx, char_u *val, int opt_flags, int set_sid);
+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);
+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);
+char *set_string_option(int opt_idx, char_u *value, int opt_flags);
+int check_ff_value(char_u *p);
+/* vim: set ft=c : */
