To: vim_dev@googlegroups.com
Subject: Patch 7.3.297
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------

Patch 7.3.297
Problem:    Can't load Perl 5.14 dynamically.
Solution:   Add code in #ifdefs. (Charles Cooper)
Files:	    if_perl.xs


*** ../vim-7.3.296/src/if_perl.xs	2011-07-27 14:15:41.000000000 +0200
--- src/if_perl.xs	2011-09-07 18:47:07.000000000 +0200
***************
*** 147,153 ****
--- 147,158 ----
  # 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,258 ****
--- 257,268 ----
  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,366 ****
--- 370,381 ----
      {"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,412 ****
--- 422,430 ----
      {"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,432 ****
      {"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
      {"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},
-     {"boot_DynaLoader", (PERL_PROC*)&boot_DynaLoader},
      {"Perl_Gthr_key_ptr", (PERL_PROC*)&Perl_Gthr_key_ptr},
      {"", NULL},
  };
  
--- 436,453 ----
      {"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_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},
      {"", NULL},
  };
  
*** ../vim-7.3.296/src/version.c	2011-09-07 15:04:26.000000000 +0200
--- src/version.c	2011-09-07 18:45:28.000000000 +0200
***************
*** 711,712 ****
--- 711,714 ----
  {   /* Add new patch number below this line */
+ /**/
+     297,
  /**/

-- 
At some point in the project somebody will start whining about the need to
determine the project "requirements".  This involves interviewing people who
don't know what they want but, curiously, know exactly when they need it.
				(Scott Adams - The Dilbert principle)

 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
