patch 7.4.1598
Problem:    When starting the GUI fails a swap file is left behind. (Joerg
            Plate)
Solution:   Preserve files before exiting. (closes #692)
diff --git a/src/gui.c b/src/gui.c
index f52d217..d5c0d3e 100644
--- a/src/gui.c
+++ b/src/gui.c
@@ -105,7 +105,7 @@
 	/* If there is 'f' in 'guioptions' and specify -g argument,
 	 * gui_mch_init_check() was not called yet.  */
 	if (gui_mch_init_check() != OK)
-	    exit(1);
+	    getout_preserve_modified(1);
 #endif
 	gui_attempt_start();
     }
@@ -272,7 +272,7 @@
 #ifdef FEAT_GUI_GTK
     /* Call gtk_init_check() here after fork(). See gui_init_check(). */
     if (gui_mch_init_check() != OK)
-	exit(1);
+	getout_preserve_modified(1);
 #endif
 
 # if defined(HAVE_SETSID) || defined(HAVE_SETPGID)
@@ -309,7 +309,7 @@
 
     /* If we failed to start the GUI, exit now. */
     if (!gui.in_use)
-	exit(1);
+	getout_preserve_modified(1);
 }
 
 /*
diff --git a/src/main.c b/src/main.c
index 8c7d3d6..83e55d1 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1355,7 +1355,7 @@
 }
 
 
-#if defined(USE_XSMP) || defined(FEAT_GUI_MSWIN) || defined(PROTO)
+#if defined(USE_XSMP) || defined(FEAT_GUI) || defined(PROTO)
 /*
  * Exit, but leave behind swap files for modified buffers.
  */
@@ -1377,7 +1377,9 @@
 #endif
 
 
-/* Exit properly */
+/*
+ * Exit properly.
+ */
     void
 getout(int exitval)
 {
diff --git a/src/version.c b/src/version.c
index 4d0c250..7379875 100644
--- a/src/version.c
+++ b/src/version.c
@@ -749,6 +749,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1598,
+/**/
     1597,
 /**/
     1596,