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.