diff --git a/src/proto/cmdexpand.pro b/src/proto/cmdexpand.pro
new file mode 100644
index 0000000..f2cea9f
--- /dev/null
+++ b/src/proto/cmdexpand.pro
@@ -0,0 +1,14 @@
+/* cmdexpand.c */
+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);
+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);
+int expand_cmdline(expand_T *xp, char_u *str, int col, int *matchcount, char_u ***matches);
+int ExpandGeneric(expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***file, char_u *((*func)(expand_T *, int)), int escaped);
+void globpath(char_u *path, char_u *file, garray_T *ga, int expand_options);
+void f_getcompletion(typval_T *argvars, typval_T *rettv);
+/* vim: set ft=c : */
diff --git a/src/proto/ex_getln.pro b/src/proto/ex_getln.pro
index 66e634b..61215e0 100644
--- a/src/proto/ex_getln.pro
+++ b/src/proto/ex_getln.pro
@@ -12,6 +12,7 @@
 int cmdline_overstrike(void);
 int cmdline_at_end(void);
 colnr_T cmdline_getvcol_cursor(void);
+int realloc_cmdbuff(int len);
 void free_arshape_buf(void);
 void putcmdline(int c, int shift);
 void unputcmdline(void);
@@ -21,19 +22,12 @@
 void redrawcmdline_ex(int do_compute_cmdrow);
 void redrawcmd(void);
 void compute_cmdrow(void);
+void cursorcmd(void);
 void gotocmdline(int clr);
-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 ExpandEscape(expand_T *xp, char_u *str, int numfiles, char_u **files, int options);
 char_u *vim_strsave_fnameescape(char_u *fname, int shell);
+void escape_fname(char_u **pp);
 void tilde_replace(char_u *orig_pat, int num_files, char_u **files);
-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);
-int expand_cmdline(expand_T *xp, char_u *str, int col, int *matchcount, char_u ***matches);
-int ExpandGeneric(expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***file, char_u *((*func)(expand_T *, int)), int escaped);
-void globpath(char_u *path, char_u *file, garray_T *ga, int expand_options);
+cmdline_info_T *get_cmdline_info(void);
 char_u *get_cmdline_str(void);
 int get_cmdline_pos(void);
 int set_cmdline_pos(int pos);
