patch 7.4.2254
Problem:    Compiler warnings in MzScheme code.
Solution:   Add UNUSED.  Remove unreachable code.
diff --git a/src/if_mzsch.c b/src/if_mzsch.c
index 4138810..eacb803 100644
--- a/src/if_mzsch.c
+++ b/src/if_mzsch.c
@@ -1008,8 +1008,13 @@
 # endif
 #endif
 
+/*
+ * mzscheme_main() is called early in main().
+ * We may call scheme_main_setup() which calls mzscheme_env_main() which then
+ * trampolines into vim_main2(), which never returns.
+ */
     int
-mzscheme_main()
+mzscheme_main(void)
 {
     int	    argc = 0;
     char    *argv = NULL;
@@ -1036,9 +1041,8 @@
 }
 
     static int
-mzscheme_env_main(Scheme_Env *env, int argc, char **argv)
+mzscheme_env_main(Scheme_Env *env, int argc UNUSED, char **argv UNUSED)
 {
-    int vim_main_result;
 #ifdef TRAMPOLINED_MZVIM_STARTUP
     /* Scheme has created the environment for us */
     environment = env;
@@ -1055,17 +1059,10 @@
 # endif
 #endif
 
-    /* mzscheme_main is called as a trampoline from main.
-     * We trampoline into vim_main2
-     * Passing argc, argv through from mzscheme_main
-     */
-    vim_main_result = vim_main2();
-#if !defined(TRAMPOLINED_MZVIM_STARTUP) && defined(MZ_PRECISE_GC)
-    /* releasing dummy */
-    MZ_GC_REG();
-    MZ_GC_UNREG();
-#endif
-    return vim_main_result;
+    vim_main2();
+    /* not reached, vim_main2() will loop until exit() */
+
+    return 0;
 }
 
     static Scheme_Object*
diff --git a/src/version.c b/src/version.c
index a799c6d..15e75e6 100644
--- a/src/version.c
+++ b/src/version.c
@@ -764,6 +764,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2254,
+/**/
     2253,
 /**/
     2252,