To: vim_dev@googlegroups.com Subject: Patch 7.4.1957 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ 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 -- 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 ///