Patch 7.4.1957
Problem:    Perl interface has obsolete workaround.
Solution:   Remove the workaround added by 7.3.623. (Ken Takata)
Files:      src/if_perl.xs


*** ../vim-7.4.1956/src/if_perl.xs      2016-06-02 13:54:45.144690110 +0200
--- src/if_perl.xs      2016-06-26 17:15:44.198386065 +0200
***************
*** 135,148 ****
  # define EXTERN_C
  #endif
  
- #if (PERL_REVISION == 5) && (PERL_VERSION >= 14) && defined(_MSC_VER)
- /* Using PL_errgv to get the error message after perl_eval_sv() causes a crash
-  * with MSVC and Perl version 5.14. */
- #   define CHECK_EVAL_ERR(len)        SvPV(perl_get_sv("@", GV_ADD), (len));
- #else
- #   define CHECK_EVAL_ERR(len)        SvPV(GvSV(PL_errgv), (len));
- #endif
- 
  /* Compatibility hacks over */
  
  static PerlInterpreter *perl_interp = NULL;
--- 135,140 ----
***************
*** 985,991 ****
  
      SvREFCNT_dec(sv);
  
!     err = CHECK_EVAL_ERR(length);
  
      FREETMPS;
      LEAVE;
--- 977,983 ----
  
      SvREFCNT_dec(sv);
  
!     err = SvPV(GvSV(PL_errgv), length);
  
      FREETMPS;
      LEAVE;
***************
*** 1274,1280 ****
        if (sv) {
            perl_to_vim(sv, rettv);
            ref_map_free();
!           err = CHECK_EVAL_ERR(err_len);
        }
        PUTBACK;
        FREETMPS;
--- 1266,1272 ----
        if (sv) {
            perl_to_vim(sv, rettv);
            ref_map_free();
!           err = SvPV(GvSV(PL_errgv), err_len);
        }
        PUTBACK;
        FREETMPS;
***************
*** 1318,1324 ****
      sv_catpvn(sv, "}", 1);
      perl_eval_sv(sv, G_DISCARD | G_NOARGS);
      SvREFCNT_dec(sv);
!     str = CHECK_EVAL_ERR(length);
      if (length)
        goto err;
  
--- 1310,1316 ----
      sv_catpvn(sv, "}", 1);
      perl_eval_sv(sv, G_DISCARD | G_NOARGS);
      SvREFCNT_dec(sv);
!     str = SvPV(GvSV(PL_errgv), length);
      if (length)
        goto err;
  
***************
*** 1332,1338 ****
        sv_setpv(GvSV(PL_defgv), (char *)ml_get(i));
        PUSHMARK(sp);
        perl_call_pv("VIM::perldo", G_SCALAR | G_EVAL);
!       str = CHECK_EVAL_ERR(length);
        if (length)
            break;
        SPAGAIN;
--- 1324,1330 ----
        sv_setpv(GvSV(PL_defgv), (char *)ml_get(i));
        PUSHMARK(sp);
        perl_call_pv("VIM::perldo", G_SCALAR | G_EVAL);
!       str = SvPV(GvSV(PL_errgv), length);
        if (length)
            break;
        SPAGAIN;
*** ../vim-7.4.1956/src/version.c       2016-06-26 17:11:15.655124127 +0200
--- src/version.c       2016-06-26 17:15:19.710818305 +0200
***************
*** 755,756 ****
--- 755,758 ----
  {   /* Add new patch number below this line */
+ /**/
+     1957,
  /**/

-- 
hundred-and-one symptoms of being an internet addict:
132. You come back and check this list every half-hour.

 /// 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