summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2013-08-02 16:10:32 +0200
committerBram Moolenaar <Bram@vim.org>2013-08-02 16:10:32 +0200
commitaee1f4a5b5065da6602fb30e01529644e85eb036 (patch)
tree89669a8b47cf8d3e17106295b7bad6e80f2f910d
parenta946afe075ce041a638194b6b3bcb100ba2b3689 (diff)
updated for version 7.4b.007v7.4b.007
Problem: On 32 bit MS-Windows :perldo does not work. Solution: Make sure time_t uses 32 bits. (Ken Takata)
-rw-r--r--src/if_perl.xs14
-rw-r--r--src/version.c2
-rw-r--r--src/vim.h4
3 files changed, 16 insertions, 4 deletions
diff --git a/src/if_perl.xs b/src/if_perl.xs
index 118f604871..4c46f2abbf 100644
--- 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
diff --git a/src/version.c b/src/version.c
index 77c3e8d571..d34ed63ddf 100644
--- 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,
diff --git a/src/vim.h b/src/vim.h
index 1555defda0..3d61f3a35f 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -2180,10 +2180,6 @@ typedef int VimClipboard; /* This is required for the prototypes. */
/* 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 */