0
0
mirror of https://github.com/vim/vim.git synced 2025-09-28 04:24:06 -04:00

patch 7.4.1957

Problem:    Perl interface has obsolete workaround.
Solution:   Remove the workaround added by 7.3.623. (Ken Takata)
This commit is contained in:
Bram Moolenaar
2016-06-26 17:16:51 +02:00
parent 5d2ca04029
commit 7b61bf187a
2 changed files with 6 additions and 12 deletions

View File

@@ -135,14 +135,6 @@
# define EXTERN_C # define EXTERN_C
#endif #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 */ /* Compatibility hacks over */
static PerlInterpreter *perl_interp = NULL; static PerlInterpreter *perl_interp = NULL;
@@ -985,7 +977,7 @@ ex_perl(exarg_T *eap)
SvREFCNT_dec(sv); SvREFCNT_dec(sv);
err = CHECK_EVAL_ERR(length); err = SvPV(GvSV(PL_errgv), length);
FREETMPS; FREETMPS;
LEAVE; LEAVE;
@@ -1274,7 +1266,7 @@ do_perleval(char_u *str, typval_T *rettv)
if (sv) { if (sv) {
perl_to_vim(sv, rettv); perl_to_vim(sv, rettv);
ref_map_free(); ref_map_free();
err = CHECK_EVAL_ERR(err_len); err = SvPV(GvSV(PL_errgv), err_len);
} }
PUTBACK; PUTBACK;
FREETMPS; FREETMPS;
@@ -1318,7 +1310,7 @@ ex_perldo(exarg_T *eap)
sv_catpvn(sv, "}", 1); sv_catpvn(sv, "}", 1);
perl_eval_sv(sv, G_DISCARD | G_NOARGS); perl_eval_sv(sv, G_DISCARD | G_NOARGS);
SvREFCNT_dec(sv); SvREFCNT_dec(sv);
str = CHECK_EVAL_ERR(length); str = SvPV(GvSV(PL_errgv), length);
if (length) if (length)
goto err; goto err;
@@ -1332,7 +1324,7 @@ ex_perldo(exarg_T *eap)
sv_setpv(GvSV(PL_defgv), (char *)ml_get(i)); sv_setpv(GvSV(PL_defgv), (char *)ml_get(i));
PUSHMARK(sp); PUSHMARK(sp);
perl_call_pv("VIM::perldo", G_SCALAR | G_EVAL); perl_call_pv("VIM::perldo", G_SCALAR | G_EVAL);
str = CHECK_EVAL_ERR(length); str = SvPV(GvSV(PL_errgv), length);
if (length) if (length)
break; break;
SPAGAIN; SPAGAIN;

View File

@@ -753,6 +753,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
1957,
/**/ /**/
1956, 1956,
/**/ /**/