patch 7.4.2192
Problem:    Generating prototypes with Cygwin doesn't work well.
Solution:   Change #ifdefs. (Ken Takata)
diff --git a/src/gui.h b/src/gui.h
index 81c6b9a..508b7cf 100644
--- a/src/gui.h
+++ b/src/gui.h
@@ -16,7 +16,7 @@
 # include <X11/StringDefs.h>
 #endif
 
-#ifdef FEAT_BEVAL
+#if defined(FEAT_BEVAL) || defined(PROTO)
 # include "gui_beval.h"
 #endif
 
diff --git a/src/gui_w32.c b/src/gui_w32.c
index 19f4d65..78db43e 100644
--- a/src/gui_w32.c
+++ b/src/gui_w32.c
@@ -247,6 +247,7 @@
 # define CONST
 # define FAR
 # define NEAR
+# undef _cdecl
 # define _cdecl
 typedef int BOOL;
 typedef int BYTE;
@@ -288,6 +289,7 @@
 typedef int LPNMHDR;
 typedef int LONG;
 typedef int WNDPROC;
+typedef int UINT_PTR;
 #endif
 
 #ifndef GET_X_LPARAM
@@ -3451,7 +3453,7 @@
     set_window_title(s_hwnd, (title == NULL ? "VIM" : (char *)title));
 }
 
-#ifdef FEAT_MOUSESHAPE
+#if defined(FEAT_MOUSESHAPE) || defined(PROTO)
 /* Table for shape IDCs.  Keep in sync with the mshape_names[] table in
  * misc2.c! */
 static LPCSTR mshape_idcs[] =
@@ -3514,7 +3516,7 @@
 }
 #endif
 
-#ifdef FEAT_BROWSE
+#if defined(FEAT_BROWSE) || defined(PROTO)
 /*
  * The file browser exists in two versions: with "W" uses wide characters,
  * without "W" the current codepage.  When FEAT_MBYTE is defined and on
diff --git a/src/ops.c b/src/ops.c
index 1767eb5..325a95b 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -6283,7 +6283,7 @@
  * 'permanent' of the two), otherwise the PRIMARY one.
  * For now, use a hard-coded sanity limit of 1Mb of data.
  */
-#if defined(FEAT_X11) && defined(FEAT_CLIPBOARD)
+#if (defined(FEAT_X11) && defined(FEAT_CLIPBOARD)) || defined(PROTO)
     void
 x11_export_final_selection(void)
 {
diff --git a/src/proto/fileio.pro b/src/proto/fileio.pro
index 5f1bc75..748bf4c 100644
--- a/src/proto/fileio.pro
+++ b/src/proto/fileio.pro
@@ -33,7 +33,7 @@
 int check_ei(void);
 char_u *au_event_disable(char *what);
 void au_event_restore(char_u *old_ei);
-void do_autocmd(char_u *arg, int forceit);
+void do_autocmd(char_u *arg_in, int forceit);
 int do_doautocmd(char_u *arg, int do_msg, int *did_something);
 void ex_doautoall(exarg_T *eap);
 int check_nomodeline(char_u **argp);
diff --git a/src/proto/message.pro b/src/proto/message.pro
index 5b70640..ba8ff37 100644
--- a/src/proto/message.pro
+++ b/src/proto/message.pro
@@ -4,7 +4,7 @@
 int msg_attr(char_u *s, int attr);
 int msg_attr_keep(char_u *s, int attr, int keep);
 char_u *msg_strtrunc(char_u *s, int force);
-void trunc_string(char_u *s, char_u *buf, int room, int buflen);
+void trunc_string(char_u *s, char_u *buf, int room_in, int buflen);
 void reset_last_sourcing(void);
 void msg_source(int attr);
 int emsg_not_now(void);
diff --git a/src/proto/normal.pro b/src/proto/normal.pro
index 52c7ca5..55d12bb 100644
--- a/src/proto/normal.pro
+++ b/src/proto/normal.pro
@@ -16,7 +16,7 @@
 void pop_showcmd(void);
 void do_check_scrollbind(int check);
 void check_scrollbind(linenr_T topline_diff, long leftcol_diff);
-int find_decl(char_u *ptr, int len, int locally, int thisblock, int searchflags);
+int find_decl(char_u *ptr, int len, int locally, int thisblock, int flags_arg);
 void scroll_redraw(int up, long count);
 void handle_tabmenu(void);
 void do_nv_ident(int c1, int c2);
diff --git a/src/proto/ops.pro b/src/proto/ops.pro
index 5a603d0..de4ae73 100644
--- a/src/proto/ops.pro
+++ b/src/proto/ops.pro
@@ -47,7 +47,7 @@
 void prepare_viminfo_registers(void);
 void finish_viminfo_registers(void);
 int read_viminfo_register(vir_T *virp, int force);
-void handle_viminfo_register(garray_T *values, int writing);
+void handle_viminfo_register(garray_T *values, int force);
 void write_viminfo_registers(FILE *fp);
 void x11_export_final_selection(void);
 void clip_free_selection(VimClipboard *cbd);
diff --git a/src/version.c b/src/version.c
index 8735b64..c775c37 100644
--- a/src/version.c
+++ b/src/version.c
@@ -764,6 +764,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2192,
+/**/
     2191,
 /**/
     2190,
diff --git a/src/vim.h b/src/vim.h
index 085f73d..05f97ba 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -2109,7 +2109,7 @@
  * been seen at that stage.  But it must be before globals.h, where error_ga
  * is declared. */
 #if !defined(FEAT_GUI_W32) && !defined(FEAT_GUI_X11) \
-	&& !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_MAC)
+	&& !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_MAC) && !defined(PROTO)
 # define mch_errmsg(str)	fprintf(stderr, "%s", (str))
 # define display_errors()	fflush(stderr)
 # define mch_msg(str)		printf("%s", (str))