diff --git a/src/proto/buffer.pro b/src/proto/buffer.pro
index 564b655..094feed 100644
--- a/src/proto/buffer.pro
+++ b/src/proto/buffer.pro
@@ -11,8 +11,8 @@
 void free_wininfo(wininfo_T *wip);
 void goto_buffer(exarg_T *eap, int start, int dir, int count);
 void handle_swap_exists(bufref_T *old_curbuf);
-char *do_bufdel(int command, char_u *arg, int addr_count, int start_bnr, int end_bnr, int forceit);
 int do_buffer(int action, int start, int dir, int count, int forceit);
+char *do_bufdel(int command, char_u *arg, int addr_count, int start_bnr, int end_bnr, int forceit);
 void set_curbuf(buf_T *buf, int action);
 void do_autochdir(void);
 void no_write_message(void);
diff --git a/src/proto/cmdexpand.pro b/src/proto/cmdexpand.pro
index 924b0b4..e42ed6d 100644
--- a/src/proto/cmdexpand.pro
+++ b/src/proto/cmdexpand.pro
@@ -1,19 +1,19 @@
 /* cmdexpand.c */
 int cmdline_fuzzy_complete(char_u *fuzzystr);
 int nextwild(expand_T *xp, int type, int options, int escape);
-char_u *ExpandOne(expand_T *xp, char_u *str, char_u *orig, int options, int mode);
-void ExpandInit(expand_T *xp);
-void ExpandCleanup(expand_T *xp);
 void cmdline_pum_display(void);
 int cmdline_pum_active(void);
 void cmdline_pum_remove(void);
 void cmdline_pum_cleanup(cmdline_info_T *cclp);
 int cmdline_compl_startcol(void);
+char_u *ExpandOne(expand_T *xp, char_u *str, char_u *orig, int options, int mode);
+void ExpandInit(expand_T *xp);
+void ExpandCleanup(expand_T *xp);
 int showmatches(expand_T *xp, int wildmenu);
 char_u *sm_gettail(char_u *s);
 char_u *addstar(char_u *fname, int len, int context);
-void set_cmd_context(expand_T *xp, char_u *str, int len, int col, int use_ccline);
 void set_expand_context(expand_T *xp);
+void set_cmd_context(expand_T *xp, char_u *str, int len, int col, int use_ccline);
 int expand_cmdline(expand_T *xp, char_u *str, int col, int *matchcount, char_u ***matches);
 void globpath(char_u *path, char_u *file, garray_T *ga, int expand_options);
 int wildmenu_translate_key(cmdline_info_T *cclp, int key, expand_T *xp, int did_wild_list);
diff --git a/src/proto/getchar.pro b/src/proto/getchar.pro
index a034257..47af0bb 100644
--- a/src/proto/getchar.pro
+++ b/src/proto/getchar.pro
@@ -24,7 +24,7 @@
 void stop_redo_ins(void);
 int noremap_keys(void);
 int ins_typebuf(char_u *str, int noremap, int offset, int nottyped, int silent);
-int ins_char_typebuf(int c, int modifier);
+int ins_char_typebuf(int c, int modifiers);
 int typebuf_changed(int tb_change_cnt);
 int typebuf_typed(void);
 int typebuf_maplen(void);
diff --git a/src/proto/gui_x11.pro b/src/proto/gui_x11.pro
index 5dde37d..6e8974e 100644
--- a/src/proto/gui_x11.pro
+++ b/src/proto/gui_x11.pro
@@ -23,7 +23,6 @@
 void gui_mch_free_fontset(GuiFontset fontset);
 GuiFontset gui_mch_get_fontset(char_u *name, int giveErrorIfMissing, int fixed_width);
 int fontset_height(XFontSet fs);
-int fontset_height2(XFontSet fs);
 guicolor_T gui_mch_get_color(char_u *name);
 guicolor_T gui_mch_get_rgb_color(int r, int g, int b);
 void gui_mch_set_fg_color(guicolor_T color);
diff --git a/src/proto/help.pro b/src/proto/help.pro
index 96f4efe..d5fa8d6 100644
--- a/src/proto/help.pro
+++ b/src/proto/help.pro
@@ -11,4 +11,3 @@
 void ex_viusage(exarg_T *eap);
 void ex_helptags(exarg_T *eap);
 /* vim: set ft=c : */
-
diff --git a/src/proto/if_tcl.pro b/src/proto/if_tcl.pro
index 11ca7a2..b5f1cc2 100644
--- a/src/proto/if_tcl.pro
+++ b/src/proto/if_tcl.pro
@@ -1,7 +1,7 @@
 /* if_tcl.c */
 void vim_tcl_init(char *arg);
-void vim_tcl_finalize(void);
 int tcl_enabled(int verbose);
+void vim_tcl_finalize(void);
 void tcl_end(void);
 void ex_tcl(exarg_T *eap);
 void ex_tclfile(exarg_T *eap);
diff --git a/src/proto/mbyte.pro b/src/proto/mbyte.pro
index 1cd02a9..c429adc 100644
--- a/src/proto/mbyte.pro
+++ b/src/proto/mbyte.pro
@@ -78,6 +78,7 @@
 int iconv_enabled(int verbose);
 void iconv_end(void);
 void f_getimstatus(typval_T *argvars, typval_T *rettv);
+void f_iconv(typval_T *argvars, typval_T *rettv);
 int convert_setup(vimconv_T *vcp, char_u *from, char_u *to);
 int convert_setup_ext(vimconv_T *vcp, char_u *from, int from_unicode_is_utf8, char_u *to, int to_unicode_is_utf8);
 int convert_input(char_u *ptr, int len, int maxlen);
@@ -86,5 +87,4 @@
 char_u *string_convert_ext(vimconv_T *vcp, char_u *ptr, int *lenp, int *unconvlenp);
 void f_setcellwidths(typval_T *argvars, typval_T *rettv);
 void f_charclass(typval_T *argvars, typval_T *rettv);
-void f_iconv(typval_T *argvars UNUSED, typval_T *rettv);
 /* vim: set ft=c : */
diff --git a/src/proto/option.pro b/src/proto/option.pro
index cef998b..c64672d 100644
--- a/src/proto/option.pro
+++ b/src/proto/option.pro
@@ -64,7 +64,7 @@
 void set_iminsert_global(void);
 void set_imsearch_global(void);
 void set_context_in_set_cmd(expand_T *xp, char_u *arg, int opt_flags);
-int ExpandSettings(expand_T *xp, regmatch_T *regmatch, char_u *fuzzystr, int *numMatches, char_u ***matches, int do_fuzzy);
+int ExpandSettings(expand_T *xp, regmatch_T *regmatch, char_u *fuzzystr, int *numMatches, char_u ***matches, int can_fuzzy);
 int ExpandOldSetting(int *num_file, char_u ***file);
 int shortmess(int x);
 void vimrc_found(char_u *fname, char_u *envname);
diff --git a/src/proto/os_mswin.pro b/src/proto/os_mswin.pro
index e3c5b60..c63129f 100644
--- a/src/proto/os_mswin.pro
+++ b/src/proto/os_mswin.pro
@@ -9,6 +9,7 @@
 int mch_FullName(char_u *fname, char_u *buf, int len, int force);
 int mch_isFullName(char_u *fname);
 void slash_adjust(char_u *p);
+char_u *resolve_appexeclink(char_u *fname);
 int vim_stat(const char *name, stat_T *stp);
 void mch_settmode(tmode_T tmode);
 int mch_get_shellsize(void);
@@ -50,5 +51,4 @@
 char *quality_id2name(DWORD id);
 int get_logfont(LOGFONTW *lf, char_u *name, HDC printer_dc, int verbose);
 void channel_init_winsock(void);
-char_u *resolve_appexeclink(char_u *fname);
 /* vim: set ft=c : */
diff --git a/src/proto/screen.pro b/src/proto/screen.pro
index 6d1993d..0ee1b5e 100644
--- a/src/proto/screen.pro
+++ b/src/proto/screen.pro
@@ -17,7 +17,7 @@
 void screen_putchar(int c, int row, int col, int attr);
 void screen_getbytes(int row, int col, char_u *bytes, int *attrp);
 void screen_puts(char_u *text, int row, int col, int attr);
-void screen_puts_len(char_u *text, int textlen, int row, int col, int attr);
+void screen_puts_len(char_u *text, int textlen, int row, int col, int attr_arg);
 void start_search_hl(void);
 void end_search_hl(void);
 void screen_stop_highlight(void);
diff --git a/src/proto/syntax.pro b/src/proto/syntax.pro
index f2196fa..c06498c 100644
--- a/src/proto/syntax.pro
+++ b/src/proto/syntax.pro
@@ -1,5 +1,4 @@
 /* syntax.c */
-void syn_set_timeout(proftime_T *tm);
 void syntax_start(win_T *wp, linenr_T lnum);
 void syn_stack_free_all(synblock_T *block);
 void syn_stack_apply_changes(buf_T *buf);
diff --git a/src/proto/textformat.pro b/src/proto/textformat.pro
index 7ed9428..6f358fa 100644
--- a/src/proto/textformat.pro
+++ b/src/proto/textformat.pro
@@ -2,7 +2,7 @@
 int has_format_option(int x);
 void internal_format(int textwidth, int second_indent, int flags, int format_only, int c);
 void auto_format(int trailblank, int prev_line);
-void check_auto_format(int);
+void check_auto_format(int end_insert);
 int comp_textwidth(int ff);
 void op_format(oparg_T *oap, int keep_cursor);
 void op_formatexpr(oparg_T *oap);
diff --git a/src/proto/textobject.pro b/src/proto/textobject.pro
index 7931979..5911635 100644
--- a/src/proto/textobject.pro
+++ b/src/proto/textobject.pro
@@ -13,4 +13,3 @@
 int current_par(oparg_T *oap, long count, int include, int type);
 int current_quote(oparg_T *oap, long count, int include, int quotechar);
 /* vim: set ft=c : */
-
diff --git a/src/proto/time.pro b/src/proto/time.pro
index becafea..54ed4ba 100644
--- a/src/proto/time.pro
+++ b/src/proto/time.pro
@@ -1,6 +1,6 @@
 /* time.c */
-char *get_ctime(time_t thetime, int add_newline);
 time_T vim_time(void);
+char *get_ctime(time_t thetime, int add_newline);
 void f_localtime(typval_T *argvars, typval_T *rettv);
 void f_reltime(typval_T *argvars, typval_T *rettv);
 void f_reltimefloat(typval_T *argvars, typval_T *rettv);
