Mercurial > vim
changeset 9351:82cb3ed4781b v7.4.1957
commit https://github.com/vim/vim/commit/7b61bf187a318cb710be40da9ce4c29972324a71
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Jun 26 17:16:51 2016 +0200
patch 7.4.1957
Problem: Perl interface has obsolete workaround.
Solution: Remove the workaround added by 7.3.623. (Ken Takata)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 26 Jun 2016 17:30:06 +0200 |
parents | 11c29e483829 |
children | 06e4f8536f81 |
files | src/if_perl.xs src/version.c |
diffstat | 2 files changed, 6 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/src/if_perl.xs +++ b/src/if_perl.xs @@ -135,14 +135,6 @@ # 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; @@ -985,7 +977,7 @@ ex_perl(exarg_T *eap) SvREFCNT_dec(sv); - err = CHECK_EVAL_ERR(length); + err = SvPV(GvSV(PL_errgv), length); FREETMPS; LEAVE; @@ -1274,7 +1266,7 @@ do_perleval(char_u *str, typval_T *rettv if (sv) { perl_to_vim(sv, rettv); ref_map_free(); - err = CHECK_EVAL_ERR(err_len); + err = SvPV(GvSV(PL_errgv), err_len); } PUTBACK; FREETMPS; @@ -1318,7 +1310,7 @@ ex_perldo(exarg_T *eap) sv_catpvn(sv, "}", 1); perl_eval_sv(sv, G_DISCARD | G_NOARGS); SvREFCNT_dec(sv); - str = CHECK_EVAL_ERR(length); + str = SvPV(GvSV(PL_errgv), length); if (length) goto err; @@ -1332,7 +1324,7 @@ ex_perldo(exarg_T *eap) 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); + str = SvPV(GvSV(PL_errgv), length); if (length) break; SPAGAIN;