changeset 5261:b882d4b14e00 v7.4b.007

updated for version 7.4b.007 Problem: On 32 bit MS-Windows :perldo does not work. Solution: Make sure time_t uses 32 bits. (Ken Takata)
author Bram Moolenaar <bram@vim.org>
date Fri, 02 Aug 2013 16:10:32 +0200
parents e1d2d37208c1
children cd7e3cdc310f
files src/if_perl.xs src/version.c src/vim.h
diffstat 3 files changed, 16 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/if_perl.xs
+++ b/src/if_perl.xs
@@ -13,8 +13,22 @@
 #define _memory_h	/* avoid memset redeclaration */
 #define IN_PERL_FILE	/* don't include if_perl.pro from proto.h */
 
+/*
+ * Currently 32-bit version of ActivePerl is built with VC6.
+ * (http://community.activestate.com/faq/windows-compilers-perl-modules)
+ * It means that time_t should be 32-bit. However the default size of
+ * time_t is 64-bit since VC8. So we have to define _USE_32BIT_TIME_T.
+ */
+#if defined(WIN32) && !defined(_WIN64)
+# define _USE_32BIT_TIME_T
+#endif
+
 #include "vim.h"
 
+#include <EXTERN.h>
+#include <perl.h>
+#include <XSUB.h>
+
 
 /*
  * Work around clashes between Perl and Vim namespace.	proto.h doesn't
--- a/src/version.c
+++ b/src/version.c
@@ -728,6 +728,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    7,
+/**/
     6,
 /**/
     5,
--- a/src/vim.h
+++ b/src/vim.h
@@ -2180,10 +2180,6 @@ typedef int VimClipboard;	/* This is req
   /* Borland has the structure stati64 but not _stati64 */
 #  define _stati64 stati64
 # endif
-
-# include <EXTERN.h>
-# include <perl.h>
-# include <XSUB.h>
 #endif
 
 /* values for vim_handle_signal() that are not a signal */