Karsten Hopp 170e65
To: vim-dev@vim.org
Karsten Hopp 170e65
Subject: patch 7.1.102
Karsten Hopp 170e65
Fcc: outbox
Karsten Hopp 170e65
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp 170e65
Mime-Version: 1.0
Karsten Hopp 170e65
Content-Type: text/plain; charset=ISO-8859-1
Karsten Hopp 170e65
Content-Transfer-Encoding: 8bit
Karsten Hopp 170e65
------------
Karsten Hopp 170e65
Karsten Hopp 170e65
Patch 7.1.102
Karsten Hopp 170e65
Problem:    Perl interface doesn't compile with new version of Perl.
Karsten Hopp 170e65
Solution:   Add two variables to the dynamic library loading. (Suresh
Karsten Hopp 170e65
	    Govindachar)
Karsten Hopp 170e65
Files:	    src/if_perl.xs
Karsten Hopp 170e65
Karsten Hopp 170e65
Karsten Hopp 170e65
*** ../vim-7.1.101/src/if_perl.xs	Wed Aug 16 19:33:57 2006
Karsten Hopp 170e65
--- src/if_perl.xs	Wed Sep  5 22:00:36 2007
Karsten Hopp 170e65
***************
Karsten Hopp 170e65
*** 40,45 ****
Karsten Hopp 170e65
--- 40,65 ----
Karsten Hopp 170e65
  #    define PERL_SUBVERSION SUBVERSION
Karsten Hopp 170e65
  #endif
Karsten Hopp 170e65
  
Karsten Hopp 170e65
+ /*
Karsten Hopp 170e65
+  * Quoting Jan Dubois of Active State:
Karsten Hopp 170e65
+  *    ActivePerl build 822 still identifies itself as 5.8.8 but already
Karsten Hopp 170e65
+  *    contains many of the changes from the upcoming Perl 5.8.9 release.
Karsten Hopp 170e65
+  *
Karsten Hopp 170e65
+  * The changes include addition of two symbols (Perl_sv_2iv_flags,
Karsten Hopp 170e65
+  * Perl_newXS_flags) not present in earlier releases.
Karsten Hopp 170e65
+  *
Karsten Hopp 170e65
+  * Jan Dubois suggested the following guarding scheme:
Karsten Hopp 170e65
+  */
Karsten Hopp 170e65
+ #if (ACTIVEPERL_VERSION >= 822)
Karsten Hopp 170e65
+ # define PERL589_OR_LATER
Karsten Hopp 170e65
+ #endif
Karsten Hopp 170e65
+ #if (PERL_REVISION == 5) && (PERL_VERSION == 8) && (PERL_SUBVERSION >= 9)
Karsten Hopp 170e65
+ # define PERL589_OR_LATER
Karsten Hopp 170e65
+ #endif
Karsten Hopp 170e65
+ #if (PERL_REVISION == 5) && (PERL_VERSION >= 9)
Karsten Hopp 170e65
+ # define PERL589_OR_LATER
Karsten Hopp 170e65
+ #endif
Karsten Hopp 170e65
+ 
Karsten Hopp 170e65
  #ifndef pTHX
Karsten Hopp 170e65
  #    define pTHX void
Karsten Hopp 170e65
  #    define pTHX_
Karsten Hopp 170e65
***************
Karsten Hopp 170e65
*** 109,114 ****
Karsten Hopp 170e65
--- 129,138 ----
Karsten Hopp 170e65
  # else
Karsten Hopp 170e65
  #  define Perl_sv_catpvn dll_Perl_sv_catpvn
Karsten Hopp 170e65
  # endif
Karsten Hopp 170e65
+ #ifdef PERL589_OR_LATER
Karsten Hopp 170e65
+ #  define Perl_sv_2iv_flags dll_Perl_sv_2iv_flags
Karsten Hopp 170e65
+ #  define Perl_newXS_flags dll_Perl_newXS_flags
Karsten Hopp 170e65
+ #endif
Karsten Hopp 170e65
  # define Perl_sv_free dll_Perl_sv_free
Karsten Hopp 170e65
  # define Perl_sv_isa dll_Perl_sv_isa
Karsten Hopp 170e65
  # define Perl_sv_magic dll_Perl_sv_magic
Karsten Hopp 170e65
***************
Karsten Hopp 170e65
*** 192,197 ****
Karsten Hopp 170e65
--- 216,225 ----
Karsten Hopp 170e65
  #else
Karsten Hopp 170e65
  static void (*Perl_sv_catpvn)(pTHX_ SV*, const char*, STRLEN);
Karsten Hopp 170e65
  #endif
Karsten Hopp 170e65
+ #ifdef PERL589_OR_LATER
Karsten Hopp 170e65
+ static IV (*Perl_sv_2iv_flags)(pTHX_ SV* sv, I32 flags);
Karsten Hopp 170e65
+ static CV * (*Perl_newXS_flags)(pTHX_ const char *name, XSUBADDR_t subaddr, const char *const filename, const char *const proto, U32 flags);
Karsten Hopp 170e65
+ #endif
Karsten Hopp 170e65
  static void (*Perl_sv_free)(pTHX_ SV*);
Karsten Hopp 170e65
  static int (*Perl_sv_isa)(pTHX_ SV*, const char*);
Karsten Hopp 170e65
  static void (*Perl_sv_magic)(pTHX_ SV*, SV*, int, const char*, I32);
Karsten Hopp 170e65
***************
Karsten Hopp 170e65
*** 266,271 ****
Karsten Hopp 170e65
--- 294,303 ----
Karsten Hopp 170e65
      {"Perl_sv_2pv_nolen", (PERL_PROC*)&Perl_sv_2pv_nolen},
Karsten Hopp 170e65
  #else
Karsten Hopp 170e65
      {"Perl_sv_2pv", (PERL_PROC*)&Perl_sv_2pv},
Karsten Hopp 170e65
+ #endif
Karsten Hopp 170e65
+ #ifdef PERL589_OR_LATER
Karsten Hopp 170e65
+     {"Perl_sv_2iv_flags", (PERL_PROC*)&Perl_sv_2iv_flags},
Karsten Hopp 170e65
+     {"Perl_newXS_flags", (PERL_PROC*)&Perl_newXS_flags},
Karsten Hopp 170e65
  #endif
Karsten Hopp 170e65
      {"Perl_sv_bless", (PERL_PROC*)&Perl_sv_bless},
Karsten Hopp 170e65
  #if (PERL_REVISION == 5) && (PERL_VERSION >= 8)
Karsten Hopp 170e65
*** ../vim-7.1.101/src/version.c	Thu Sep 13 15:00:28 2007
Karsten Hopp 170e65
--- src/version.c	Thu Sep 13 15:18:36 2007
Karsten Hopp 170e65
***************
Karsten Hopp 170e65
*** 668,669 ****
Karsten Hopp 170e65
--- 668,671 ----
Karsten Hopp 170e65
  {   /* Add new patch number below this line */
Karsten Hopp 170e65
+ /**/
Karsten Hopp 170e65
+     102,
Karsten Hopp 170e65
  /**/
Karsten Hopp 170e65
Karsten Hopp 170e65
-- 
Karsten Hopp 170e65
Witches prefer brooms: vacuum-cleaners need extension cords!
Karsten Hopp 170e65
Karsten Hopp 170e65
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp 170e65
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp 170e65
\\\        download, build and distribute -- http://www.A-A-P.org        ///
Karsten Hopp 170e65
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///