diff --git a/src/auto/configure b/src/auto/configure
index fcb2f40..5cef555 100755
--- a/src/auto/configure
+++ b/src/auto/configure
@@ -4744,6 +4744,10 @@
     OS_EXTRA_SRC="os_macosx.m os_mac_conv.c";
     OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
             CPPFLAGS="$CPPFLAGS -DMACOS_X_DARWIN"
+
+               if test -z "$with_x" -a "X$enable_gui" != Xmotif -a "X$enable_gui" != Xathena -a "X$enable_gui" != Xgtk2 -a "X$enable_gui" != Xgtk3; then
+      with_x=no
+     fi
   fi
 
         if test "$MACARCH" = "intel" -o "$MACARCH" = "both"; then
@@ -9232,6 +9236,19 @@
 		SKIP_PHOTON=YES ;;
   esac
 
+elif test "x$MACOS_X" = "xyes" -a "x$with_x" = "xno" ; then
+  case "$enable_gui_canon" in
+    no)		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no GUI support" >&5
+$as_echo "no GUI support" >&6; } ;;
+    yes|"")	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes - automatic GUI support" >&5
+$as_echo "yes - automatic GUI support" >&6; }
+    		gui_auto=yes ;;
+    auto)	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: auto - disable GUI support for Mac OS" >&5
+$as_echo "auto - disable GUI support for Mac OS" >&6; } ;;
+    *)		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Sorry, $enable_gui GUI is not supported" >&5
+$as_echo "Sorry, $enable_gui GUI is not supported" >&6; }
+		SKIP_CARBON=YES ;;
+  esac
 else
 
   case "$enable_gui_canon" in
diff --git a/src/configure.ac b/src/configure.ac
index 8a5216a..e17a74c 100644
--- a/src/configure.ac
+++ b/src/configure.ac
@@ -262,6 +262,12 @@
     dnl TODO: use -arch i386 on Intel machines
     dnl Removed -no-cpp-precomp, only for very old compilers.
     CPPFLAGS="$CPPFLAGS -DMACOS_X_DARWIN"
+
+     dnl Assume we don't want X11 unless it was specifically asked for
+     dnl (--with-x) or Motif, Athena or GTK GUI is used.
+     if test -z "$with_x" -a "X$enable_gui" != Xmotif -a "X$enable_gui" != Xathena -a "X$enable_gui" != Xgtk2 -a "X$enable_gui" != Xgtk3; then
+      with_x=no
+     fi
   fi
 
   dnl Avoid a bug with -O2 with gcc 4.0.1.  Symptom: malloc() reports double
@@ -2421,6 +2427,15 @@
 		SKIP_PHOTON=YES ;;
   esac
 
+elif test "x$MACOS_X" = "xyes" -a "x$with_x" = "xno" ; then
+  case "$enable_gui_canon" in
+    no)		AC_MSG_RESULT(no GUI support) ;;
+    yes|"")	AC_MSG_RESULT(yes - automatic GUI support)
+    		gui_auto=yes ;;
+    auto)	AC_MSG_RESULT(auto - disable GUI support for Mac OS) ;;
+    *)		AC_MSG_RESULT([Sorry, $enable_gui GUI is not supported])
+		SKIP_CARBON=YES ;;
+  esac
 else
 
   case "$enable_gui_canon" in
diff --git a/src/libvterm/src/state.c b/src/libvterm/src/state.c
index 4fe3d7d..390aa8d 100644
--- a/src/libvterm/src/state.c
+++ b/src/libvterm/src/state.c
@@ -133,7 +133,7 @@
   if(rect.start_col == 0 && rect.end_col == state->cols && rightward == 0) {
     int height = rect.end_row - rect.start_row - abs(downward);
     int row;
-    VTermLineInfo zeroLineInfo = { 0 };
+    VTermLineInfo zeroLineInfo = {0x0};
 
     if(downward > 0) {
       memmove(state->lineinfo + rect.start_row,
@@ -1813,7 +1813,7 @@
       }
 
       for( ; row < rows; row++) {
-	VTermLineInfo lineInfo = {0};
+	VTermLineInfo lineInfo = {0x0};
 	newlineinfo[row] = lineInfo;
       }
 
diff --git a/src/os_macosx.m b/src/os_macosx.m
index 4c04395..0ac59b4 100644
--- a/src/os_macosx.m
+++ b/src/os_macosx.m
@@ -33,7 +33,7 @@
  * gui_mac.c are used then.  TODO: remove those instead?
  * But for MacVim we do need these ones.
  */
-#if defined(FEAT_CLIPBOARD) && (!defined(FEAT_GUI_ENABLED) || defined(FEAT_GUI_MACVIM))
+#if defined(FEAT_CLIPBOARD) && (!defined(FEAT_GUI_ENABLED))
 
 /* Used to identify clipboard data copied from Vim. */
 
diff --git a/src/version.c b/src/version.c
index f6257b5..ec86fb4 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1424,
+/**/
     1423,
 /**/
     1422,
@@ -3954,17 +3956,8 @@
 #     else
 #      if defined(MSWIN)
     msg_puts(_("with GUI."));
-#      else
-#	if defined(TARGET_API_MAC_CARBON) && TARGET_API_MAC_CARBON
-    msg_puts(_("with Carbon GUI."));
-#	else
-#	 if defined(TARGET_API_MAC_OSX) && TARGET_API_MAC_OSX
-    msg_puts(_("with Cocoa GUI."));
-#	 else
-#	 endif
-#	endif
-#	 endif
 #      endif
+#     endif
 #    endif
 #   endif
 #  endif
