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;
--- a/src/version.c
+++ b/src/version.c
@@ -754,6 +754,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1957,
+/**/
     1956,
 /**/
     1955,