Patch 7.4.1848
Problem:    Can't build with Strawberry Perl 5.24.
Solution:   Define S_SvREFCNT_dec() if needed. (Damien, Ken Takata)
Files:      src/if_perl.xs


*** ../vim-7.4.1847/src/if_perl.xs      2016-04-15 21:16:07.780407822 +0200
--- src/if_perl.xs      2016-05-26 22:01:12.668608119 +0200
***************
*** 299,304 ****
--- 299,307 ----
  #  define PerlIOBase_pushed dll_PerlIOBase_pushed
  #  define PerlIO_define_layer dll_PerlIO_define_layer
  # endif
+ # if (PERL_REVISION == 5) && (PERL_VERSION >= 24)
+ #  define Perl_savetmps dll_Perl_savetmps
+ # endif
  
  /*
   * Declare HANDLE for perl.dll and function pointers.
***************
*** 455,460 ****
--- 458,466 ----
  static IV (*PerlIOBase_pushed)(pTHX_ PerlIO *, const char *, SV *, 
PerlIO_funcs *);
  static void (*PerlIO_define_layer)(pTHX_ PerlIO_funcs *);
  #endif
+ #if (PERL_REVISION == 5) && (PERL_VERSION >= 24)
+ static void (*Perl_savetmps)(pTHX);
+ #endif
  
  /*
   * Table of name to function pointer of perl.
***************
*** 598,614 ****
      {"PerlIOBase_pushed", (PERL_PROC*)&PerlIOBase_pushed},
      {"PerlIO_define_layer", (PERL_PROC*)&PerlIO_define_layer},
  #endif
      {"", NULL},
  };
  
  /* Work around for perl-5.18.
!  * The definitions of S_SvREFCNT_inc and S_SvREFCNT_dec are needed, so include
!  * "perl\lib\CORE\inline.h", after Perl_sv_free2 is defined.
!  * The linker won't complain about undefined __impl_Perl_sv_free2. */
  #if (PERL_REVISION == 5) && (PERL_VERSION >= 18)
! # define PL_memory_wrap "panic: memory wrap" /* Dummy */
! # include <inline.h>
! # undef PL_memory_wrap
  #endif
  
  /*
--- 604,630 ----
      {"PerlIOBase_pushed", (PERL_PROC*)&PerlIOBase_pushed},
      {"PerlIO_define_layer", (PERL_PROC*)&PerlIO_define_layer},
  #endif
+ #if (PERL_REVISION == 5) && (PERL_VERSION >= 24)
+     {"Perl_savetmps", (PERL_PROC*)&Perl_savetmps},
+ #endif
      {"", NULL},
  };
  
  /* Work around for perl-5.18.
!  * For now, only the definitions of S_SvREFCNT_dec are needed in
!  * "perl\lib\CORE\inline.h". */
  #if (PERL_REVISION == 5) && (PERL_VERSION >= 18)
! static void
! S_SvREFCNT_dec(pTHX_ SV *sv)
! {
!     if (LIKELY(sv != NULL)) {
!       U32 rc = SvREFCNT(sv);
!       if (LIKELY(rc > 1))
!           SvREFCNT(sv) = rc - 1;
!       else
!           Perl_sv_free2(aTHX_ sv, rc);
!     }
! }
  #endif
  
  /*
***************
*** 777,783 ****
        sv_setiv(ptr->w_perl_private, PTR2IV(ptr));
      }
      else
!       SvREFCNT_inc(ptr->w_perl_private);
      SvRV(rv) = ptr->w_perl_private;
      SvROK_on(rv);
      return sv_bless(rv, gv_stashpv("VIWIN", TRUE));
--- 793,799 ----
        sv_setiv(ptr->w_perl_private, PTR2IV(ptr));
      }
      else
!       SvREFCNT_inc_void_NN(ptr->w_perl_private);
      SvRV(rv) = ptr->w_perl_private;
      SvROK_on(rv);
      return sv_bless(rv, gv_stashpv("VIWIN", TRUE));
***************
*** 793,799 ****
        sv_setiv(ptr->b_perl_private, PTR2IV(ptr));
      }
      else
!       SvREFCNT_inc(ptr->b_perl_private);
      SvRV(rv) = ptr->b_perl_private;
      SvROK_on(rv);
      return sv_bless(rv, gv_stashpv("VIBUF", TRUE));
--- 809,815 ----
        sv_setiv(ptr->b_perl_private, PTR2IV(ptr));
      }
      else
!       SvREFCNT_inc_void_NN(ptr->b_perl_private);
      SvRV(rv) = ptr->b_perl_private;
      SvROK_on(rv);
      return sv_bless(rv, gv_stashpv("VIBUF", TRUE));
*** ../vim-7.4.1847/src/version.c       2016-05-25 22:51:13.385755343 +0200
--- src/version.c       2016-05-26 22:01:43.012607701 +0200
***************
*** 755,756 ****
--- 755,758 ----
  {   /* Add new patch number below this line */
+ /**/
+     1848,
  /**/

-- 
hundred-and-one symptoms of being an internet addict:
18. Your wife drapes a blond wig over your monitor to remind you of what she
    looks like.

 /// Bram Moolenaar -- [email protected] -- 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    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui