changeset 3050:22550986c713 v7.3.297

updated for version 7.3.297 Problem: Can't load Perl 5.14 dynamically. Solution: Add code in #ifdefs. (Charles Cooper)
author Bram Moolenaar <bram@vim.org>
date Wed, 07 Sep 2011 18:47:23 +0200
parents 9ff11c3e217b
children ab3dccb44ded
files src/if_perl.xs src/version.c
diffstat 2 files changed, 25 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/if_perl.xs
+++ b/src/if_perl.xs
@@ -147,7 +147,12 @@ typedef int perl_key;
 # define Perl_save_int dll_Perl_save_int
 # define Perl_stack_grow dll_Perl_stack_grow
 # define Perl_set_context dll_Perl_set_context
+# if (PERL_REVISION == 5) && (PERL_VERSION >= 14)
+# define Perl_sv_2bool_flags dll_Perl_sv_2bool_flags
+# define Perl_xs_apiversion_bootcheck dll_Perl_xs_apiversion_bootcheck 
+# else
 # define Perl_sv_2bool dll_Perl_sv_2bool
+# endif
 # define Perl_sv_2iv dll_Perl_sv_2iv
 # define Perl_sv_2mortal dll_Perl_sv_2mortal
 # if (PERL_REVISION == 5) && (PERL_VERSION >= 8)
@@ -252,7 +257,12 @@ static void (*Perl_push_scope)(pTHX);
 static void (*Perl_save_int)(pTHX_ int*);
 static SV** (*Perl_stack_grow)(pTHX_ SV**, SV**p, int);
 static SV** (*Perl_set_context)(void*);
+#if (PERL_REVISION == 5) && (PERL_VERSION >= 14)
+static bool (*Perl_sv_2bool_flags)(pTHX_ SV*, I32);
+static void (*Perl_xs_apiversion_bootcheck)(pTHX_ SV *module, const char *api_p, STRLEN api_len);
+#else
 static bool (*Perl_sv_2bool)(pTHX_ SV*);
+#endif
 static IV (*Perl_sv_2iv)(pTHX_ SV*);
 static SV* (*Perl_sv_2mortal)(pTHX_ SV*);
 #if (PERL_REVISION == 5) && (PERL_VERSION >= 8)
@@ -360,7 +370,12 @@ static struct {
     {"Perl_save_int", (PERL_PROC*)&Perl_save_int},
     {"Perl_stack_grow", (PERL_PROC*)&Perl_stack_grow},
     {"Perl_set_context", (PERL_PROC*)&Perl_set_context},
+#if (PERL_REVISION == 5) && (PERL_VERSION >= 14)
+    {"Perl_sv_2bool_flags", (PERL_PROC*)&Perl_sv_2bool_flags},
+    {"Perl_xs_apiversion_bootcheck",(PERL_PROC*)&Perl_xs_apiversion_bootcheck},
+#else
     {"Perl_sv_2bool", (PERL_PROC*)&Perl_sv_2bool},
+#endif
     {"Perl_sv_2iv", (PERL_PROC*)&Perl_sv_2iv},
     {"Perl_sv_2mortal", (PERL_PROC*)&Perl_sv_2mortal},
 #if (PERL_REVISION == 5) && (PERL_VERSION >= 8)
@@ -407,6 +422,9 @@ static struct {
     {"Perl_sv_free2", (PERL_PROC*)&Perl_sv_free2},
     {"Perl_sys_init", (PERL_PROC*)&Perl_sys_init},
     {"Perl_sys_term", (PERL_PROC*)&Perl_sys_term},
+    {"Perl_call_list", (PERL_PROC*)&Perl_call_list},
+# if (PERL_REVISION == 5) && (PERL_VERSION >= 14)
+# else
     {"Perl_ISv_ptr", (PERL_PROC*)&Perl_ISv_ptr},
     {"Perl_Istack_max_ptr", (PERL_PROC*)&Perl_Istack_max_ptr},
     {"Perl_Istack_base_ptr", (PERL_PROC*)&Perl_Istack_base_ptr},
@@ -418,15 +436,18 @@ static struct {
     {"Perl_Imarkstack_max_ptr", (PERL_PROC*)&Perl_Imarkstack_max_ptr},
     {"Perl_Istack_sp_ptr", (PERL_PROC*)&Perl_Istack_sp_ptr},
     {"Perl_Iop_ptr", (PERL_PROC*)&Perl_Iop_ptr},
-    {"Perl_call_list", (PERL_PROC*)&Perl_call_list},
     {"Perl_Iscopestack_ix_ptr", (PERL_PROC*)&Perl_Iscopestack_ix_ptr},
     {"Perl_Iunitcheckav_ptr", (PERL_PROC*)&Perl_Iunitcheckav_ptr},
+# endif
 #endif
+#if (PERL_REVISION == 5) && (PERL_VERSION >= 14)
+#else
     {"Perl_Idefgv_ptr", (PERL_PROC*)&Perl_Idefgv_ptr},
     {"Perl_Ierrgv_ptr", (PERL_PROC*)&Perl_Ierrgv_ptr},
     {"Perl_Isv_yes_ptr", (PERL_PROC*)&Perl_Isv_yes_ptr},
+    {"Perl_Gthr_key_ptr", (PERL_PROC*)&Perl_Gthr_key_ptr},
+#endif
     {"boot_DynaLoader", (PERL_PROC*)&boot_DynaLoader},
-    {"Perl_Gthr_key_ptr", (PERL_PROC*)&Perl_Gthr_key_ptr},
     {"", NULL},
 };
 
--- a/src/version.c
+++ b/src/version.c
@@ -710,6 +710,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    297,
+/**/
     296,
 /**/
     295,