updated for version 7.1-283
diff --git a/src/vim.h b/src/vim.h
index 6c2cde5..d93bec1 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -355,16 +355,19 @@
  * On Win64 longs are 32 bit and pointers 64 bit.
  * For printf() and scanf() we need to take care of long_u specifically. */
 #ifdef _WIN64
-typedef unsigned __int64 long_u;
-typedef		 __int64 long_i;
-# define SCANF_HEX_LONG_U  "%Ix"
-# define PRINTF_HEX_LONG_U "0x%Ix"
+typedef unsigned __int64        long_u;
+typedef		 __int64        long_i;
+# define SCANF_HEX_LONG_U       "%Ix"
+# define SCANF_DECIMAL_LONG_U   "%Iu"
+# define PRINTF_HEX_LONG_U      "0x%Ix"
 #else
-typedef unsigned long	long_u;
-typedef		 long	long_i;
-# define SCANF_HEX_LONG_U  "%lx"
-# define PRINTF_HEX_LONG_U "0x%lx"
+typedef unsigned long	        long_u;
+typedef		 long	        long_i;
+# define SCANF_HEX_LONG_U       "%lx"
+# define SCANF_DECIMAL_LONG_U   "%lu"
+# define PRINTF_HEX_LONG_U      "0x%lx"
 #endif
+#define PRINTF_DECIMAL_LONG_U SCANF_DECIMAL_LONG_U
 
 /*
  * The characters and attributes cached for the screen.