changeset 14377:378eefcbbb12 v8.1.0203

patch 8.1.0203: building with Perl 5.28 fails on Windows commit https://github.com/vim/vim/commit/578333b2ecdfef3109cb07a82c3aa08ad3dc5664 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Jul 22 07:31:09 2018 +0200 patch 8.1.0203: building with Perl 5.28 fails on Windows Problem: Building with Perl 5.28 fails on Windows. Solution: Define Perl_mg_get. (closes https://github.com/vim/vim/issues/3196)
author Christian Brabandt <cb@256bit.org>
date Sun, 22 Jul 2018 07:45:05 +0200
parents 04a5346f267d
children eb3be2bf5462
files src/if_perl.xs src/version.c
diffstat 2 files changed, 17 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/src/if_perl.xs
+++ b/src/if_perl.xs
@@ -199,6 +199,9 @@ typedef int perl_key;
 # define Perl_gv_stashpv dll_Perl_gv_stashpv
 # define Perl_markstack_grow dll_Perl_markstack_grow
 # define Perl_mg_find dll_Perl_mg_find
+# if (PERL_REVISION == 5) && (PERL_VERSION >= 28)
+#  define Perl_mg_get dll_Perl_mg_get
+# endif
 # define Perl_newXS dll_Perl_newXS
 # define Perl_newSV dll_Perl_newSV
 # define Perl_newSViv dll_Perl_newSViv
@@ -342,6 +345,9 @@ static I32* (*Perl_markstack_grow)(pTHX)
 static void (*Perl_markstack_grow)(pTHX);
 # endif
 static MAGIC* (*Perl_mg_find)(pTHX_ SV*, int);
+# if (PERL_REVISION == 5) && (PERL_VERSION >= 28)
+static int (*Perl_mg_get)(pTHX_ SV*);
+# endif
 static CV* (*Perl_newXS)(pTHX_ char*, XSUBADDR_t, char*);
 static SV* (*Perl_newSV)(pTHX_ STRLEN);
 static SV* (*Perl_newSViv)(pTHX_ IV);
@@ -494,6 +500,9 @@ static struct {
     {"Perl_gv_stashpv", (PERL_PROC*)&Perl_gv_stashpv},
     {"Perl_markstack_grow", (PERL_PROC*)&Perl_markstack_grow},
     {"Perl_mg_find", (PERL_PROC*)&Perl_mg_find},
+# if (PERL_REVISION == 5) && (PERL_VERSION >= 28)
+    {"Perl_mg_get", (PERL_PROC*)&Perl_mg_get},
+# endif
     {"Perl_newXS", (PERL_PROC*)&Perl_newXS},
     {"Perl_newSV", (PERL_PROC*)&Perl_newSV},
     {"Perl_newSViv", (PERL_PROC*)&Perl_newSViv},
@@ -862,8 +871,8 @@ perl_win_free(win_T *wp)
 {
     if (wp->w_perl_private && perl_interp != NULL)
     {
-    	SV *sv = (SV*)wp->w_perl_private;
-    	D_Save_Sv(sv);
+	SV *sv = (SV*)wp->w_perl_private;
+	D_Save_Sv(sv);
 	sv_setiv(sv, 0);
 	SvREFCNT_dec(sv);
     }
@@ -875,8 +884,8 @@ perl_buf_free(buf_T *bp)
 {
     if (bp->b_perl_private && perl_interp != NULL)
     {
-    	SV *sv = (SV *)bp->b_perl_private;
-    	D_Save_Sv(sv);
+	SV *sv = (SV *)bp->b_perl_private;
+	D_Save_Sv(sv);
 	sv_setiv(sv, 0);
 	SvREFCNT_dec(sv);
     }
@@ -911,9 +920,8 @@ I32 cur_val(IV iv, SV *sv)
 
     if (SvRV(sv) == SvRV(rv))
 	SvREFCNT_dec(SvRV(rv));
-    else /* XXX: Not sure if the `else` condition are right
-    	  * Test_SvREFCNT() pass in all case.
-    	  */
+    else // XXX: Not sure if the `else` condition are right
+	 // Test_SvREFCNT() pass in all case.
 	sv_setsv(sv, rv);
 
     return 0;
--- a/src/version.c
+++ b/src/version.c
@@ -794,6 +794,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    203,
+/**/
     202,
 /**/
     201,