diff --git a/src/evalfunc.c b/src/evalfunc.c
index 3e1a462..f1a06ca 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -3545,9 +3545,7 @@
 	"mzscheme",
 #endif
 #endif
-#ifdef FEAT_NUM64
 	"num64",
-#endif
 #ifdef FEAT_OLE
 	"ole",
 #endif
diff --git a/src/feature.h b/src/feature.h
index 7e1e982..b25837e 100644
--- a/src/feature.h
+++ b/src/feature.h
@@ -285,16 +285,12 @@
  * +eval		Built-in script language and expression evaluation,
  *			":let", ":if", etc.
  * +float		Floating point variables.
- * +num64		64-bit Number.
  */
 #ifdef FEAT_NORMAL
 # define FEAT_EVAL
 # if defined(HAVE_FLOAT_FUNCS) || defined(MSWIN) || defined(MACOS_X)
 #  define FEAT_FLOAT
 # endif
-# if defined(HAVE_STDINT_H) || defined(MSWIN) || (VIM_SIZEOF_LONG >= 8)
-#  define FEAT_NUM64
-# endif
 #endif
 
 #ifdef FEAT_EVAL
diff --git a/src/message.c b/src/message.c
index 935fd8c..9ab0eae 100644
--- a/src/message.c
+++ b/src/message.c
@@ -4246,10 +4246,8 @@
 #  define TMP_LEN 350	// On my system 1e308 is the biggest number possible.
 			// That sounds reasonable to use as the maximum
 			// printable.
-# elif defined(FEAT_NUM64)
-#  define TMP_LEN 66
 # else
-#  define TMP_LEN 34
+#  define TMP_LEN 66
 # endif
 	    char    tmp[TMP_LEN];
 
@@ -4374,11 +4372,7 @@
 		if (length_modifier == 'l' && *p == 'l')
 		{
 		    // double l = long long
-# ifdef FEAT_NUM64
 		    length_modifier = 'L';
-# else
-		    length_modifier = 'l';	// treat it as a single 'l'
-# endif
 		    p++;
 		}
 	    }
@@ -4394,7 +4388,7 @@
 		default: break;
 	    }
 
-# if defined(FEAT_EVAL) && defined(FEAT_NUM64)
+# if defined(FEAT_EVAL)
 	    switch (fmt_spec)
 	    {
 		case 'd': case 'u': case 'o': case 'x': case 'X':
@@ -4516,11 +4510,9 @@
 		    long int long_arg = 0;
 		    unsigned long int ulong_arg = 0;
 
-# ifdef FEAT_NUM64
 		    // only defined for length modifier ll
 		    varnumber_T llong_arg = 0;
 		    uvarnumber_T ullong_arg = 0;
-# endif
 
 		    // only defined for b conversion
 		    uvarnumber_T bin_arg = 0;
@@ -4581,19 +4573,17 @@
 			    else if (long_arg < 0)
 				arg_sign = -1;
 			    break;
-# ifdef FEAT_NUM64
 			case 'L':
 			    llong_arg =
-#  if defined(FEAT_EVAL)
+# if defined(FEAT_EVAL)
 					tvs != NULL ? tv_nr(tvs, &arg_idx) :
-#  endif
+# endif
 					    va_arg(ap, varnumber_T);
 			    if (llong_arg > 0)
 				arg_sign =  1;
 			    else if (llong_arg < 0)
 				arg_sign = -1;
 			    break;
-# endif
 			}
 		    }
 		    else
@@ -4622,18 +4612,16 @@
 				if (ulong_arg != 0)
 				    arg_sign = 1;
 				break;
-# ifdef FEAT_NUM64
 			    case 'L':
 				ullong_arg =
-#  if defined(FEAT_EVAL)
+# if defined(FEAT_EVAL)
 					    tvs != NULL ? (uvarnumber_T)
 							tv_nr(tvs, &arg_idx) :
-#  endif
+# endif
 						va_arg(ap, uvarnumber_T);
 				if (ullong_arg != 0)
 				    arg_sign = 1;
 				break;
-# endif
 			}
 		    }
 
@@ -4687,17 +4675,13 @@
 			    ;
 			else if (length_modifier == 'L')
 			{
-# ifdef FEAT_NUM64
-#  ifdef MSWIN
+# ifdef MSWIN
 			    f[f_l++] = 'I';
 			    f[f_l++] = '6';
 			    f[f_l++] = '4';
-#  else
-			    f[f_l++] = 'l';
-			    f[f_l++] = 'l';
-#  endif
 # else
 			    f[f_l++] = 'l';
+			    f[f_l++] = 'l';
 # endif
 			}
 			else
@@ -4735,11 +4719,9 @@
 			    case 'l': str_arg_l += sprintf(
 						tmp + str_arg_l, f, long_arg);
 				      break;
-# ifdef FEAT_NUM64
 			    case 'L': str_arg_l += sprintf(
 					       tmp + str_arg_l, f, llong_arg);
 				      break;
-# endif
 			    }
 			}
 			else
@@ -4754,11 +4736,9 @@
 			    case 'l': str_arg_l += sprintf(
 					       tmp + str_arg_l, f, ulong_arg);
 				      break;
-# ifdef FEAT_NUM64
 			    case 'L': str_arg_l += sprintf(
 					      tmp + str_arg_l, f, ullong_arg);
 				      break;
-# endif
 			    }
 			}
 
diff --git a/src/structs.h b/src/structs.h
index 7aff8af..823dfda 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -1245,42 +1245,33 @@
 typedef long_u hash_T;		// Type for hi_hash
 
 
-#ifdef FEAT_NUM64
 // Use 64-bit Number.
-# ifdef MSWIN
-#  ifdef PROTO
-typedef long		    varnumber_T;
-typedef unsigned long	    uvarnumber_T;
-#   define VARNUM_MIN	    LONG_MIN
-#   define VARNUM_MAX	    LONG_MAX
-#   define UVARNUM_MAX	    ULONG_MAX
-#  else
-typedef __int64		    varnumber_T;
-typedef unsigned __int64    uvarnumber_T;
-#   define VARNUM_MIN	    _I64_MIN
-#   define VARNUM_MAX	    _I64_MAX
-#   define UVARNUM_MAX	    _UI64_MAX
-#  endif
-# elif defined(HAVE_STDINT_H)
-typedef int64_t		    varnumber_T;
-typedef uint64_t	    uvarnumber_T;
-#  define VARNUM_MIN	    INT64_MIN
-#  define VARNUM_MAX	    INT64_MAX
-#  define UVARNUM_MAX	    UINT64_MAX
-# else
+#ifdef MSWIN
+# ifdef PROTO
 typedef long		    varnumber_T;
 typedef unsigned long	    uvarnumber_T;
 #  define VARNUM_MIN	    LONG_MIN
 #  define VARNUM_MAX	    LONG_MAX
 #  define UVARNUM_MAX	    ULONG_MAX
+# else
+typedef __int64		    varnumber_T;
+typedef unsigned __int64    uvarnumber_T;
+#  define VARNUM_MIN	    _I64_MIN
+#  define VARNUM_MAX	    _I64_MAX
+#  define UVARNUM_MAX	    _UI64_MAX
 # endif
+#elif defined(HAVE_STDINT_H)
+typedef int64_t		    varnumber_T;
+typedef uint64_t	    uvarnumber_T;
+# define VARNUM_MIN	    INT64_MIN
+# define VARNUM_MAX	    INT64_MAX
+# define UVARNUM_MAX	    UINT64_MAX
 #else
-// Use 32-bit Number.
-typedef int		    varnumber_T;
-typedef unsigned int	    uvarnumber_T;
-# define VARNUM_MIN	    INT_MIN
-# define VARNUM_MAX	    INT_MAX
-# define UVARNUM_MAX	    UINT_MAX
+typedef long		    varnumber_T;
+typedef unsigned long	    uvarnumber_T;
+# define VARNUM_MIN	    LONG_MIN
+# define VARNUM_MAX	    LONG_MAX
+# define UVARNUM_MAX	    ULONG_MAX
 #endif
 
 typedef double	float_T;
diff --git a/src/testdir/test_expr.vim b/src/testdir/test_expr.vim
index 1281ae7..7601c4f 100644
--- a/src/testdir/test_expr.vim
+++ b/src/testdir/test_expr.vim
@@ -382,9 +382,7 @@
 endfunc
 
 function Test_printf_64bit()
-  if has('num64')
-    call assert_equal("123456789012345", printf('%d', 123456789012345))
-  endif
+  call assert_equal("123456789012345", printf('%d', 123456789012345))
 endfunc
 
 function Test_printf_spec_s()
@@ -423,12 +421,8 @@
   call assert_equal(" 0b1111011", printf('%#10b', 123))
   call assert_equal("0B01111011", printf('%#010B', 123))
   call assert_equal("1001001100101100000001011010010", printf('%b', 1234567890))
-  if has('num64')
-    call assert_equal("11100000100100010000110000011011101111101111001", printf('%b', 123456789012345))
-    call assert_equal("1111111111111111111111111111111111111111111111111111111111111111", printf('%b', -1))
-  else
-    call assert_equal("11111111111111111111111111111111", printf('%b', -1))
-  endif
+  call assert_equal("11100000100100010000110000011011101111101111001", printf('%b', 123456789012345))
+  call assert_equal("1111111111111111111111111111111111111111111111111111111111111111", printf('%b', -1))
 endfunc
 
 func Test_substitute_expr()
diff --git a/src/testdir/test_largefile.vim b/src/testdir/test_largefile.vim
index 1b3e02a..68d6ec9 100644
--- a/src/testdir/test_largefile.vim
+++ b/src/testdir/test_largefile.vim
@@ -24,11 +24,6 @@
   w
   " Check if the file size is 4,000,000,000 bytes.
   let fsize=getfsize(fname)
-  if has('num64')
-    call assert_true(fsize == 4000000000)
-  else
-    " getfsize() returns -2 if a Number is 32 bits.
-    call assert_true(fsize == -2)
-  endif
+  call assert_true(fsize == 4000000000)
   call delete(fname)
 endfunc
diff --git a/src/testdir/test_sort.vim b/src/testdir/test_sort.vim
index ce5592e..8299db4 100644
--- a/src/testdir/test_sort.vim
+++ b/src/testdir/test_sort.vim
@@ -1295,9 +1295,8 @@
   \                  '2147483647'], getline(1, '$'))
   bwipe!
 
-  if has('num64')
-    new
-    a
+  new
+  a
 -9223372036854775808
 -9223372036854775807
 
@@ -1312,22 +1311,21 @@
 abc
 
 .
-    sort n
-    call assert_equal(['',
-    \                  'abc',
-    \                  '',
-    \                  '-9223372036854775808',
-    \                  '-9223372036854775808',
-    \                  '-9223372036854775807',
-    \                  '-9223372036854775806',
-    \                  '-1',
-    \                  '0',
-    \                  '1',
-    \                  '9223372036854775806',
-    \                  '9223372036854775807',
-    \                  '9223372036854775807'], getline(1, '$'))
-    bwipe!
-  endif
+  sort n
+  call assert_equal(['',
+  \                  'abc',
+  \                  '',
+  \                  '-9223372036854775808',
+  \                  '-9223372036854775808',
+  \                  '-9223372036854775807',
+  \                  '-9223372036854775806',
+  \                  '-1',
+  \                  '0',
+  \                  '1',
+  \                  '9223372036854775806',
+  \                  '9223372036854775807',
+  \                  '9223372036854775807'], getline(1, '$'))
+  bwipe!
 endfunc
 
 
diff --git a/src/testdir/test_vimscript.vim b/src/testdir/test_vimscript.vim
index a75e5f6..b16b05b 100644
--- a/src/testdir/test_vimscript.vim
+++ b/src/testdir/test_vimscript.vim
@@ -1416,10 +1416,6 @@
 "-------------------------------------------------------------------------------
 
 func Test_num64()
-    if !has('num64')
-	return
-    endif
-
     call assert_notequal( 4294967296, 0)
     call assert_notequal(-4294967296, 0)
     call assert_equal( 4294967296,  0xFFFFffff + 1)
@@ -1692,27 +1688,15 @@
     " Test special cases: division or modulus with 0.
     let x = 1
     let x /= 0
-    if has('num64')
-        call assert_equal(0x7FFFFFFFFFFFFFFF, x)
-    else
-        call assert_equal(0x7fffffff, x)
-    endif
+    call assert_equal(0x7FFFFFFFFFFFFFFF, x)
 
     let x = -1
     let x /= 0
-    if has('num64')
-        call assert_equal(-0x7FFFFFFFFFFFFFFF, x)
-    else
-        call assert_equal(-0x7fffffff, x)
-    endif
+    call assert_equal(-0x7FFFFFFFFFFFFFFF, x)
 
     let x = 0
     let x /= 0
-    if has('num64')
-        call assert_equal(-0x7FFFFFFFFFFFFFFF - 1, x)
-    else
-        call assert_equal(-0x7FFFFFFF - 1, x)
-    endif
+    call assert_equal(-0x7FFFFFFFFFFFFFFF - 1, x)
 
     let x = 1
     let x %= 0
diff --git a/src/version.c b/src/version.c
index e27ac71..ad70c4d 100644
--- a/src/version.c
+++ b/src/version.c
@@ -436,11 +436,7 @@
 #else
 	"-netbeans_intg",
 #endif
-#ifdef FEAT_NUM64
 	"+num64",
-#else
-	"-num64",
-#endif
 #ifdef FEAT_GUI_MSWIN
 # ifdef FEAT_OLE
 	"+ole",
@@ -743,6 +739,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    271,
+/**/
     270,
 /**/
     269,
