patch 7.4.1440
Problem: Can't build on Windows.
Solution: Change #ifdefs. Only define isnan when used.
diff --git a/src/eval.c b/src/eval.c
index c3b7bcc..4afcecc 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -10,6 +10,7 @@
/*
* eval.c: Expression evaluation.
*/
+#define USING_FLOAT_STUFF
#include "vim.h"
diff --git a/src/json.c b/src/json.c
index 3687645..518a75a 100644
--- a/src/json.c
+++ b/src/json.c
@@ -12,6 +12,7 @@
*
* Follows this standard: https://tools.ietf.org/html/rfc7159.html
*/
+#define USING_FLOAT_STUFF
#include "vim.h"
diff --git a/src/macros.h b/src/macros.h
index 464eb66..b86c479 100644
--- a/src/macros.h
+++ b/src/macros.h
@@ -327,25 +327,29 @@
/* for isnan() and isinf() */
# include <math.h>
# endif
-# if defined(WIN32) && !defined(isnan)
-# define isnan(x) _isnan(x)
-# define isinf(x) (!_finite(x) && !_isnan(x))
-# else
-# ifndef HAVE_ISNAN
- static inline int isnan(double x) { return x != x; }
-# endif
-# ifndef HAVE_ISINF
- static inline int isinf(double x) { return !isnan(x) && isnan(x - x); }
-# endif
-# endif
-# if !defined(INFINITY)
-# if defined(DBL_MAX)
-# define INFINITY (DBL_MAX+DBL_MAX)
+# ifdef USING_FLOAT_STUFF
+# if defined(WIN32)
+# ifndef isnan
+# define isnan(x) _isnan(x)
+# define isinf(x) (!_finite(x) && !_isnan(x))
+# endif
# else
-# define INFINITY (1.0 / 0.0)
+# ifndef HAVE_ISNAN
+ static inline int isnan(double x) { return x != x; }
+# endif
+# ifndef HAVE_ISINF
+ static inline int isinf(double x) { return !isnan(x) && isnan(x - x); }
+# endif
# endif
-# endif
-# if !defined(NAN)
-# define NAN (INFINITY-INFINITY)
+# if !defined(INFINITY)
+# if defined(DBL_MAX)
+# define INFINITY (DBL_MAX+DBL_MAX)
+# else
+# define INFINITY (1.0 / 0.0)
+# endif
+# endif
+# if !defined(NAN)
+# define NAN (INFINITY-INFINITY)
+# endif
# endif
#endif
diff --git a/src/version.c b/src/version.c
index 28e16be..08ce414 100644
--- a/src/version.c
+++ b/src/version.c
@@ -744,6 +744,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1440,
+/**/
1439,
/**/
1438,