diff --git a/src/os_mswin.c b/src/os_mswin.c
index c638aa6..48be0de 100644
--- a/src/os_mswin.c
+++ b/src/os_mswin.c
@@ -98,8 +98,10 @@
 typedef int LPBOOL;
 typedef int LPCSTR;
 typedef int LPCWSTR;
+typedef int LPDWORD;
 typedef int LPSTR;
 typedef int LPTSTR;
+typedef int LPVOID;
 typedef int LPWSTR;
 typedef int LRESULT;
 typedef int MOUSE_EVENT_RECORD;
@@ -1733,7 +1735,7 @@
 	DWORD	nFileSystemNameSize);
 static pfnGetVolumeInformationByHandleW pGetVolumeInformationByHandleW = NULL;
 
-    char_u *
+    static char_u *
 resolve_reparse_point(char_u *fname)
 {
     HANDLE	    h = INVALID_HANDLE_VALUE;
diff --git a/src/proto/ex_getln.pro b/src/proto/ex_getln.pro
index 298c630..8845b9c 100644
--- a/src/proto/ex_getln.pro
+++ b/src/proto/ex_getln.pro
@@ -54,7 +54,5 @@
 void handle_viminfo_history(garray_T *values, int writing);
 void finish_viminfo_history(vir_T *virp);
 void write_viminfo_history(FILE *fp, int merge);
-void cmd_pchar(int c, int offset);
-int cmd_gchar(int offset);
 char_u *script_get(exarg_T *eap, char_u *cmd);
 /* vim: set ft=c : */
diff --git a/src/proto/gui_w32.pro b/src/proto/gui_w32.pro
index 9f2e5fb..6756dc8 100644
--- a/src/proto/gui_w32.pro
+++ b/src/proto/gui_w32.pro
@@ -60,7 +60,6 @@
 void mch_set_mouse_shape(int shape);
 char_u *gui_mch_browse(int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter);
 char_u *gui_mch_browsedir(char_u *title, char_u *initdir);
-int get_cmd_args(char *prog, char *cmdline, char ***argvp, char **tofree);
 void gui_mch_set_parent(char *title);
 void gui_mch_prepare(int *argc, char **argv);
 int gui_mch_init(void);
diff --git a/src/proto/terminal.pro b/src/proto/terminal.pro
index 0fa62b7..996db6d 100644
--- a/src/proto/terminal.pro
+++ b/src/proto/terminal.pro
@@ -56,7 +56,7 @@
 void f_term_wait(typval_T *argvars, typval_T *rettv);
 void term_send_eof(channel_T *ch);
 job_T *term_getjob(term_T *term);
-int terminal_enabled(void);
 void term_free_conpty(term_T *term);
 int use_conpty(void);
+int terminal_enabled(void);
 /* vim: set ft=c : */
diff --git a/src/proto/window.pro b/src/proto/window.pro
index 5020b2f..5da322e 100644
--- a/src/proto/window.pro
+++ b/src/proto/window.pro
@@ -38,7 +38,7 @@
 win_T *win_find_nr(int winnr);
 tabpage_T *win_find_tabpage(win_T *win);
 win_T *win_vert_neighbor(tabpage_T *tp, win_T *wp, int up, long count);
-win_T *win_horz_neighbor(tabpage_T *tp, win_T * wp, int left, long count);
+win_T *win_horz_neighbor(tabpage_T *tp, win_T *wp, int left, long count);
 void win_enter(win_T *wp, int undo_sync);
 win_T *buf_jump_open_win(buf_T *buf);
 win_T *buf_jump_open_tab(buf_T *buf);
diff --git a/src/terminal.c b/src/terminal.c
index c0777b2..7dd0387 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -5663,6 +5663,19 @@
 /**************************************
  * 2. MS-Windows implementation.
  */
+#ifdef PROTO
+typedef int COORD;
+typedef int DWORD;
+typedef int HANDLE;
+typedef int *DWORD_PTR;
+typedef int HPCON;
+typedef int HRESULT;
+typedef int LPPROC_THREAD_ATTRIBUTE_LIST;
+typedef int PSIZE_T;
+typedef int PVOID;
+typedef int SIZE_T;
+typedef int WINAPI;
+#endif
 
 HRESULT (WINAPI *pCreatePseudoConsole)(COORD, HANDLE, HANDLE, DWORD, HPCON*);
 HRESULT (WINAPI *pResizePseudoConsole)(HPCON, COORD);
diff --git a/src/version.c b/src/version.c
index cef19e8..f265f64 100644
--- a/src/version.c
+++ b/src/version.c
@@ -772,6 +772,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1182,
+/**/
     1181,
 /**/
     1180,
diff --git a/src/window.c b/src/window.c
index 4dda512..4ca5627 100644
--- a/src/window.c
+++ b/src/window.c
@@ -4302,7 +4302,7 @@
  * Returns the specified window if the neighbor is not found.
  */
     win_T *
-win_horz_neighbor(tabpage_T *tp, win_T * wp, int left, long count)
+win_horz_neighbor(tabpage_T *tp, win_T *wp, int left, long count)
 {
     frame_T	*fr;
     frame_T	*nfr;
