diff --git a/src/Makefile b/src/Makefile
index dd9d247..f93a76f 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -335,9 +335,13 @@
 
 # Uncomment one of these lines if you have that GUI but don't want to use it.
 # The automatic check will use another one that can be found.
-# Gnome is disabled by default, it may cause trouble.
+# Gnome is disabled by default, because it may cause trouble.
+#
+# When both GTK+ 2 and GTK+ 3 are possible then GTK+ 2 will be selected.
+# To use GTK+ 3 instead use --enable-gui=gtk3 (see below).
 #CONF_OPT_GUI = --disable-gtk2-check
 #CONF_OPT_GUI = --enable-gnome2-check
+#CONF_OPT_GUI = --disable-gtk3-check
 #CONF_OPT_GUI = --disable-motif-check
 #CONF_OPT_GUI = --disable-athena-check
 #CONF_OPT_GUI = --disable-nextaw-check
@@ -348,18 +352,24 @@
 #
 # GTK versions that are known not to work 100% are rejected.
 # Use "--disable-gtktest" to accept them anyway.
-# Only GTK 2 is supported, for GTK 1 use Vim 7.2.
+# For GTK 1 use Vim 7.2.
 #
 # GNOME means GTK with Gnome support.  If using GTK and --enable-gnome-check
 # is used then GNOME will automatically be used if it is found.  If you have
 # GNOME, but do not want to use it (e.g., want a GTK-only version), then use
 # --enable-gui=gtk or leave out --enable-gnome-check.
 #
+# GNOME makes sense only for GTK+ 2.  Avoid use of --enable-gnome-check with
+# GTK+ 3 build, as the functionality of GNOME is already incooperated into
+# GTK+ 3.
+#
 # If the selected GUI isn't found, the GUI is disabled automatically
 #CONF_OPT_GUI = --enable-gui=gtk2
 #CONF_OPT_GUI = --enable-gui=gtk2 --disable-gtktest
 #CONF_OPT_GUI = --enable-gui=gnome2
 #CONF_OPT_GUI = --enable-gui=gnome2 --disable-gtktest
+#CONF_OPT_GUI = --enable-gui=gtk3
+#CONF_OPT_GUI = --enable-gui=gtk3 --disable-gtktest
 #CONF_OPT_GUI = --enable-gui=motif
 #CONF_OPT_GUI = --enable-gui=motif --with-motif-lib="-static -lXm -shared"
 #CONF_OPT_GUI = --enable-gui=athena
@@ -368,7 +378,7 @@
 # Carbon GUI for Mac OS X
 #CONF_OPT_GUI = --enable-gui=carbon
 
-# Uncomment this line to run an indivisual test with gvim.
+# Uncomment this line to run an individual test with gvim.
 #GUI_TESTARG = GUI_FLAG=-g 
 
 # DARWIN - detecting Mac OS X
@@ -402,6 +412,7 @@
 
 # MZSCHEME
 # Uncomment this when you want to include the MzScheme interface.
+# NOTE: does not work well together with valgrind.
 #CONF_OPT_MZSCHEME = --enable-mzschemeinterp
 # PLT/mrscheme/drscheme Home dir; the PLTHOME environment variable also works
 #CONF_OPT_PLTHOME  = --with-plthome=/usr/local/plt
@@ -3371,7 +3382,7 @@
 objects/os_unix.o: os_unix.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
  gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
- globals.h farsi.h arabic.h os_unixx.h
+ globals.h farsi.h arabic.h if_mzsch.h os_unixx.h
 objects/pathdef.o: auto/pathdef.c vim.h auto/config.h feature.h os_unix.h \
  auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
  regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
@@ -3545,7 +3556,7 @@
 objects/if_mzsch.o: if_mzsch.c vim.h auto/config.h feature.h os_unix.h \
  auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
  regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
- proto.h globals.h farsi.h arabic.h if_mzsch.h
+ proto.h globals.h farsi.h arabic.h if_mzsch.h mzscheme_base.c
 objects/if_perl.o: auto/if_perl.c vim.h auto/config.h feature.h os_unix.h \
  auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
  regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
diff --git a/src/if_lua.c b/src/if_lua.c
index 5803d07..b77a3cd 100644
--- a/src/if_lua.c
+++ b/src/if_lua.c
@@ -398,14 +398,15 @@
     }
     return OK;
 }
+#endif /* DYNAMIC_LUA */
 
+#if defined(DYNAMIC_LUA) || defined(PROTO)
     int
 lua_enabled(int verbose)
 {
     return lua_link_init((char *)p_luadll, verbose) == OK;
 }
-
-#endif /* DYNAMIC_LUA */
+#endif
 
 #if LUA_VERSION_NUM > 501
     static int
diff --git a/src/if_mzsch.h b/src/if_mzsch.h
index 7c1766e..8852602 100644
--- a/src/if_mzsch.h
+++ b/src/if_mzsch.h
@@ -10,6 +10,11 @@
 # include <stdint.h>
 #endif
 
+#ifdef PROTO
+/* avoid syntax error for defining Thread_Local_Variables. */
+# define __thread /* empty */
+#endif
+
 /* #ifdef needed for "make depend" */
 #ifdef FEAT_MZSCHEME
 # include <schvers.h>
diff --git a/src/option.h b/src/option.h
index 9a5570c..31fcdb8 100644
--- a/src/option.h
+++ b/src/option.h
@@ -343,7 +343,7 @@
 static char *(p_bo_values[]) = {"all", "backspace", "cursor", "complete",
 				 "copy", "ctrlg", "error", "esc", "ex",
 				 "hangul", "insertmode", "lang", "mess",
-				 "showmatch", "operator", "register", "shell", 
+				 "showmatch", "operator", "register", "shell",
 				 "spell", "wildmode", NULL};
 # endif
 
diff --git a/src/os_amiga.c b/src/os_amiga.c
index 1361030..1d440aa 100644
--- a/src/os_amiga.c
+++ b/src/os_amiga.c
@@ -1123,7 +1123,7 @@
 dos_packet(
     struct MsgPort *pid,    /* process identifier ... (handlers message port) */
     long	    action, /* packet type ... (what you want handler to do)   */
-		    arg)    /* single argument */
+    long	    arg)    /* single argument */
 {
 # ifdef FEAT_ARP
     struct MsgPort	    *replyport;
diff --git a/src/os_mac_conv.c b/src/os_mac_conv.c
index 9d8a6cf..5fdec88 100644
--- a/src/os_mac_conv.c
+++ b/src/os_mac_conv.c
@@ -14,7 +14,7 @@
  */
 
 #define NO_X11_INCLUDES
-#define BalloonEval int   /* used in header files */
+typedef int BalloonEval;    /* used in header files */
 
 #include "vim.h"
 
diff --git a/src/os_win32.c b/src/os_win32.c
index 2773953..8e908b6 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -137,6 +137,8 @@
 typedef int PSNSECINFOW;
 typedef int STARTUPINFO;
 typedef int PROCESS_INFORMATION;
+typedef int LPSECURITY_ATTRIBUTES;
+# define __stdcall /* empty */
 #endif
 
 #ifndef FEAT_GUI_W32
diff --git a/src/proto/mbyte.pro b/src/proto/mbyte.pro
index 0e41a41..806a6c6 100644
--- a/src/proto/mbyte.pro
+++ b/src/proto/mbyte.pro
@@ -10,7 +10,6 @@
 int latin_char2bytes(int c, char_u *buf);
 int latin_ptr2len(char_u *p);
 int latin_ptr2len_len(char_u *p, int size);
-int utf_ambiguous_width(int c);
 int utf_char2cells(int c);
 int latin_ptr2cells(char_u *p);
 int utf_ptr2cells(char_u *p);
@@ -41,6 +40,7 @@
 int utf_iscomposing(int c);
 int utf_printable(int c);
 int utf_class(int c);
+int utf_ambiguous_width(int c);
 int utf_fold(int a);
 int utf_toupper(int a);
 int utf_islower(int a);
diff --git a/src/structs.h b/src/structs.h
index e581e43..6eb43f8 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -1127,8 +1127,13 @@
 #ifdef FEAT_NUM64
 /* Use 64-bit Number. */
 # ifdef WIN3264
+#  ifdef PROTO
+typedef long		    varnumber_T;
+typedef unsigned long	    uvarnumber_T;
+#  else
 typedef __int64		    varnumber_T;
 typedef unsigned __int64    uvarnumber_T;
+#  endif
 # elif defined(HAVE_STDINT_H)
 typedef int64_t		    varnumber_T;
 typedef uint64_t	    uvarnumber_T;
diff --git a/src/version.c b/src/version.c
index b26f8bb..530b66d 100644
--- a/src/version.c
+++ b/src/version.c
@@ -764,6 +764,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2285,
+/**/
     2284,
 /**/
     2283,
diff --git a/src/vim.h b/src/vim.h
index 41c4bac..3f14f62 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -410,7 +410,11 @@
 #  define vim_ftell _ftelli64
 # endif
 #else
+# ifdef PROTO
+typedef long off_T;
+# else
 typedef off_t off_T;
+# endif
 # ifdef HAVE_FSEEKO
 #  define vim_lseek lseek
 #  define vim_ftell ftello
@@ -1809,10 +1813,14 @@
  * bits elsewhere.  That causes memory corruption.  Define time_T and use it
  * for global variables to avoid that.
  */
-#ifdef WIN3264
-typedef __time64_t  time_T;
+#ifdef PROTO
+typedef long  time_T;
 #else
+# ifdef WIN3264
+typedef __time64_t  time_T;
+# else
 typedef time_t	    time_T;
+# endif
 #endif
 
 #ifdef _WIN64
