From owner-svn-ports-head@FreeBSD.ORG Mon Apr 13 12:08:39 2015 Return-Path: Delivered-To: svn-ports-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 78D66E37; Mon, 13 Apr 2015 12:08:39 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4BEE8E44; Mon, 13 Apr 2015 12:08:39 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t3DC8cnA054814; Mon, 13 Apr 2015 12:08:38 GMT (envelope-from mat@FreeBSD.org) Received: (from mat@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t3DC8cF7054813; Mon, 13 Apr 2015 12:08:38 GMT (envelope-from mat@FreeBSD.org) Message-Id: <201504131208.t3DC8cF7054813@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: mat set sender to mat@FreeBSD.org using -f From: Mathieu Arnold Date: Mon, 13 Apr 2015 12:08:38 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r383910 - head/devel/p5-Lexical-Var/files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Apr 2015 12:08:39 -0000 Author: mat Date: Mon Apr 13 12:08:38 2015 New Revision: 383910 URL: https://svnweb.freebsd.org/changeset/ports/383910 Log: Fix with Perl 5.21.7+ Obtained from: https://rt.cpan.org/Public/Bug/Display.html?id=101058 Sponsored by: Absolight Added: head/devel/p5-Lexical-Var/files/ head/devel/p5-Lexical-Var/files/patch-lib_Lexical_Var.xs (contents, props changed) Added: head/devel/p5-Lexical-Var/files/patch-lib_Lexical_Var.xs ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/p5-Lexical-Var/files/patch-lib_Lexical_Var.xs Mon Apr 13 12:08:38 2015 (r383910) @@ -0,0 +1,58 @@ +--- lib/Lexical/Var.xs.orig 2013-08-25 18:51:34 UTC ++++ lib/Lexical/Var.xs +@@ -62,7 +62,12 @@ typedef AV PAD; + #endif /* !COP_SEQ_RANGE_LOW */ + + #ifndef COP_SEQ_RANGE_LOW_set +-# if PERL_VERSION_GE(5,9,5) ++# ifdef newPADNAMEpvn ++# define COP_SEQ_RANGE_LOW_set(sv,val) \ ++ do { (sv)->xpadn_low = (val); } while(0) ++# define COP_SEQ_RANGE_HIGH_set(sv,val) \ ++ do { (sv)->xpadn_high = (val); } while(0) ++# elif PERL_VERSION_GE(5,9,5) + # define COP_SEQ_RANGE_LOW_set(sv,val) \ + do { ((XPVNV*)SvANY(sv))->xnv_u.xpad_cop_seq.xlow = val; } while(0) + # define COP_SEQ_RANGE_HIGH_set(sv,val) \ +@@ -95,6 +100,12 @@ static SV *THX_newSV_type(pTHX_ svtype t + # define GV_NOTQUAL 0 + #endif /* !GV_NOTQUAL */ + ++#ifndef padnamelist_store ++ /* Note that the return values are different. If we ever call it in non- ++ void context, we would have to change it to *av_store. */ ++# define padnamelist_store av_store ++#endif ++ + /* + * scalar classification + * +@@ -460,13 +471,18 @@ static void THX_setup_pad(pTHX_ CV *comp + PADNAMELIST *padname = PadlistNAMES(padlist); + PAD *padvar = PadlistARRAY(padlist)[1]; + PADOFFSET ouroffset; +- SV *ourname, *ourvar; ++ PADNAME *ourname; ++ SV *ourvar; + HV *stash; + ourvar = *av_fetch(padvar, PadMAX(padvar) + 1, 1); + SvPADMY_on(ourvar); + ouroffset = PadMAX(padvar); ++#ifdef newPADNAMEpvn ++ ourname = newPADNAMEpvn(name, strlen(name)); ++#else + ourname = newSV_type(SVt_PADNAME); + sv_setpv(ourname, name); ++#endif + SvPAD_OUR_on(ourname); + stash = name[0] == '$' ? stash_lex_sv : + name[0] == '@' ? stash_lex_av : stash_lex_hv; +@@ -474,7 +490,7 @@ static void THX_setup_pad(pTHX_ CV *comp + COP_SEQ_RANGE_LOW_set(ourname, PL_cop_seqmax); + COP_SEQ_RANGE_HIGH_set(ourname, pad_max()); + PL_cop_seqmax++; +- av_store(padname, ouroffset, ourname); ++ padnamelist_store(padname, ouroffset, ourname); + #ifdef PadnamelistMAXNAMED + PadnamelistMAXNAMED(padname) = ouroffset; + #endif /* PadnamelistMAXNAMED */