updated for version 7.2a
diff --git a/src/main.c b/src/main.c
index 2a02615..31c11c7 100644
--- a/src/main.c
+++ b/src/main.c
@@ -18,10 +18,6 @@
 # include <spawno.h>		/* special MS-DOS swapping library */
 #endif
 
-#ifdef HAVE_FCNTL_H
-# include <fcntl.h>
-#endif
-
 #ifdef __CYGWIN__
 # ifndef WIN32
 #  include <sys/cygwin.h>	/* for cygwin_conv_to_posix_path() */
@@ -1368,6 +1364,12 @@
 init_locale()
 {
     setlocale(LC_ALL, "");
+
+# if defined(FEAT_FLOAT) && defined(LC_NUMERIC)
+    /* Make sure strtod() uses a decimal point, not a comma. */
+    setlocale(LC_NUMERIC, "C");
+# endif
+
 # ifdef WIN32
     /* Apparently MS-Windows printf() may cause a crash when we give it 8-bit
      * text while it's expecting text in the current locale.  This call avoids