diff --git a/src/proto/edit.pro b/src/proto/edit.pro
index 3f82bff..db9cf3d 100644
--- a/src/proto/edit.pro
+++ b/src/proto/edit.pro
@@ -1,5 +1,7 @@
 /* edit.c */
 int edit(int cmdchar, int startln, long count);
+int ins_need_undo_get(void);
+void ins_redraw(int ready);
 void edit_putchar(int c, int highlight);
 char_u *prompt_text(void);
 int prompt_curpos_editable(void);
@@ -8,23 +10,11 @@
 void change_indent(int type, int amount, int round, int replaced, int call_changed_bytes);
 void truncate_spaces(char_u *line);
 void backspace_until_column(int col);
-int ctrl_x_mode_not_default(void);
-int ctrl_x_mode_not_defined_yet(void);
-int vim_is_ctrl_x_key(int c);
-int ins_compl_add_infercase(char_u *str, int len, int icase, char_u *fname, int dir, int flags);
-void completeopt_was_set(void);
-void set_completion(colnr_T startcol, list_T *list);
-void ins_compl_show_pum(void);
-char_u *find_word_start(char_u *ptr);
-char_u *find_word_end(char_u *ptr);
-int ins_compl_active(void);
-void get_complete_info(list_T *what_list, dict_T *retdict);
-int ins_compl_add_tv(typval_T *tv, int dir);
-void ins_compl_check_keys(int frequency, int in_compl_func);
 int get_literal(void);
 void insertchar(int c, int flags, int second_indent);
 void auto_format(int trailblank, int prev_line);
 int comp_textwidth(int ff);
+void start_arrow(pos_T *end_insert_pos);
 int stop_arrow(void);
 void set_last_insert(int c);
 void free_last_insert(void);
@@ -43,6 +33,9 @@
 int bracketed_paste(paste_mode_T mode, int drop, garray_T *gap);
 void ins_scroll(void);
 void ins_horscroll(void);
+int ins_eol(int c);
 int ins_copychar(linenr_T lnum);
 colnr_T get_nolist_virtcol(void);
+int can_cindent_get(void);
+int ins_apply_autocmds(event_T event);
 /* vim: set ft=c : */
diff --git a/src/proto/insexpand.pro b/src/proto/insexpand.pro
new file mode 100644
index 0000000..0281245
--- /dev/null
+++ b/src/proto/insexpand.pro
@@ -0,0 +1,50 @@
+/* insexpand.c */
+void ins_ctrl_x(void);
+int ctrl_x_mode_none(void);
+int ctrl_x_mode_normal(void);
+int ctrl_x_mode_scroll(void);
+int ctrl_x_mode_whole_line(void);
+int ctrl_x_mode_files(void);
+int ctrl_x_mode_tags(void);
+int ctrl_x_mode_path_patterns(void);
+int ctrl_x_mode_path_defines(void);
+int ctrl_x_mode_dictionary(void);
+int ctrl_x_mode_thesaurus(void);
+int ctrl_x_mode_cmdline(void);
+int ctrl_x_mode_function(void);
+int ctrl_x_mode_omni(void);
+int ctrl_x_mode_spell(void);
+int ctrl_x_mode_line_or_eval(void);
+int ctrl_x_mode_not_default(void);
+int ctrl_x_mode_not_defined_yet(void);
+int has_compl_option(int dict_opt);
+int vim_is_ctrl_x_key(int c);
+int ins_compl_accept_char(int c);
+int ins_compl_add_infercase(char_u *str, int len, int icase, char_u *fname, int dir, int flags);
+int ins_compl_has_shown_match(void);
+int ins_compl_long_shown_match(void);
+void completeopt_was_set(void);
+void set_completion(colnr_T startcol, list_T *list);
+int pum_wanted(void);
+void ins_compl_show_pum(void);
+char_u *find_word_start(char_u *ptr);
+char_u *find_word_end(char_u *ptr);
+void ins_compl_clear(void);
+int ins_compl_active(void);
+void get_complete_info(list_T *what_list, dict_T *retdict);
+int ins_compl_used_match(void);
+void ins_compl_init_get_longest(void);
+int ins_compl_interrupted(void);
+int ins_compl_enter_selects(void);
+colnr_T ins_compl_col(void);
+int ins_compl_bs(void);
+void ins_compl_addleader(int c);
+void ins_compl_addfrommatch(void);
+int ins_compl_prep(int c);
+int ins_compl_add_tv(typval_T *tv, int dir);
+void ins_compl_delete(void);
+void ins_compl_insert(int in_compl_func);
+void ins_compl_check_keys(int frequency, int in_compl_func);
+int ins_complete(int c, int enable_pum);
+void free_insexpand_stuff(void);
+/* vim: set ft=c : */
