diff --git a/runtime/doc/develop.txt b/runtime/doc/develop.txt
index ed4e9e3..d90e4a3 100644
--- a/runtime/doc/develop.txt
+++ b/runtime/doc/develop.txt
@@ -1,4 +1,4 @@
-*develop.txt*   For Vim version 8.0.  Last change: 2017 Jul 31
+*develop.txt*   For Vim version 8.0.  Last change: 2018 Apr 17
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -185,9 +185,49 @@
 C COMPILER						*style-compiler*
 
 The minimal C compiler version supported is C89, also known as ANSI C.
-Later standards don't add much and C89 is the widest supported.
+Later standards, such as C99, are not widely supported, or at least not 100%
+supported.  Therefore we use only some of the C99 features and disallow some
+(at least for now).
 
-One restriction that this implies: no // comments, only /* comments */.
+Please don't make changes everywhere to use the C99 features, it causes merge
+problems for existing patches.  Only use them for new and changed code.
+
+Comments ~
+
+Traditionally Vim uses /* comments */.  We intend to keep it that way,
+especially for file and function headers.  For new code or lines of code that
+change, it is allowed to use // comments.  Especially when it comes after
+code:
+	int some_var;  // single line comment useful here
+
+Enums ~
+
+The last item in an enum may have a trailing comma.  C89 didn't allow this.
+
+Types ~
+
+"long long" is allowed and can be expected to be 64 bits.  Use %lld in printf
+formats.  Also "long long unsigned" with %llu.
+
+Flexible array members ~
+
+This is an array without size, used as the last member of a struct.  Vim used
+to have an array of size one, which causes trouble with FORTIFY_SOURCE. Using
+an "unsized array" is the intended use, we will change all of them.
+	struct some_stuff {
+	   size_t  length;
+	   char    payload[];  // will have size "length"
+	};
+
+Not to be used ~
+
+These C99 features are not to be used, because not enough compilers support
+them:
+- Declaration after Statements (MSVC 2012 does not support it).  All
+  declarations need to be at the start of the block.
+- Variable length arrays (even in C11 this is an optional feature).
+- _Bool and _Complex types.
+- "inline" (it's hardly ever needed, let the optimizer do its work)
 
 
 USE OF COMMON FUNCTIONS					*style-functions*
diff --git a/src/auto/configure b/src/auto/configure
index 8ecff53..6673de8 100755
--- a/src/auto/configure
+++ b/src/auto/configure
@@ -4179,6 +4179,40 @@
 fi
 
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the compiler can handle Vim code" >&5
+$as_echo_n "checking if the compiler can handle Vim code... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+
+  struct with_flexible_member {
+    int count;  // comment
+    char text[]; // another comment
+  };
+  enum {
+    one,
+    two,
+    three,
+  };
+  long long int a = 1;
+  long long unsigned b = 2;
+  printf("a %lld and a %llu", a, b);
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+  as_fn_error $? "compiler does not work properly - see auto/config.log" "$LINENO" 5
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking --enable-fail-if-missing argument" >&5
 $as_echo_n "checking --enable-fail-if-missing argument... " >&6; }
diff --git a/src/configure.ac b/src/configure.ac
index e37a267..4ae21a1 100644
--- a/src/configure.ac
+++ b/src/configure.ac
@@ -29,6 +29,29 @@
 AC_HEADER_STDC
 AC_HEADER_SYS_WAIT
 
+dnl Check that the C99 features that Vim uses are supported:
+dnl - // commands
+dnl - comma after last enum item
+dnl - "long long int" and "long long unsigned"
+dnl - flexible array member
+AC_MSG_CHECKING(if the compiler can handle Vim code)
+AC_TRY_COMPILE([#include <stdio.h>], [
+  struct with_flexible_member {
+    int count;  // comment
+    char text[]; // another comment
+  };
+  enum {
+    one,
+    two,
+    three,
+  };
+  long long int a = 1;
+  long long unsigned b = 2;
+  printf("a %lld and a %llu", a, b);
+  ],
+AC_MSG_RESULT(yes),
+AC_MSG_ERROR([compiler does not work properly - see auto/config.log]))
+
 dnl Check for the flag that fails if stuff are missing.
 
 AC_MSG_CHECKING(--enable-fail-if-missing argument)
diff --git a/src/version.c b/src/version.c
index aa1e93f..8d5c73a 100644
--- a/src/version.c
+++ b/src/version.c
@@ -763,6 +763,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1730,
+/**/
     1729,
 /**/
     1728,
