Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package perl-Syntax-Keyword-Try for openSUSE:Factory checked in at 2022-12-14 14:10:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Syntax-Keyword-Try (Old) and /work/SRC/openSUSE:Factory/.perl-Syntax-Keyword-Try.new.1835 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Syntax-Keyword-Try" Wed Dec 14 14:10:48 2022 rev:15 rq:1042616 version:0.28 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Syntax-Keyword-Try/perl-Syntax-Keyword-Try.changes 2022-02-24 18:24:42.870638775 +0100 +++ /work/SRC/openSUSE:Factory/.perl-Syntax-Keyword-Try.new.1835/perl-Syntax-Keyword-Try.changes 2022-12-14 14:10:58.759487403 +0100 @@ -1,0 +2,12 @@ +Fri Dec 9 03:09:01 UTC 2022 - Tina Müller <timueller+p...@suse.de> + +- updated to 0.28 + see /usr/share/doc/packages/perl-Syntax-Keyword-Try/Changes + + 0.28 2022-12-08 + [CHANGES] + * Account for the new structure of ->cop_warnings in perl v5.37.6 + * Updated to latest hax/ support files; accounting for newPADxVOP in + latest bleadperl + +------------------------------------------------------------------- Old: ---- Syntax-Keyword-Try-0.27.tar.gz New: ---- Syntax-Keyword-Try-0.28.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Syntax-Keyword-Try.spec ++++++ --- /var/tmp/diff_new_pack.oGPY5G/_old 2022-12-14 14:10:59.311490242 +0100 +++ /var/tmp/diff_new_pack.oGPY5G/_new 2022-12-14 14:10:59.311490242 +0100 @@ -18,10 +18,10 @@ %define cpan_name Syntax-Keyword-Try Name: perl-Syntax-Keyword-Try -Version: 0.27 +Version: 0.28 Release: 0 License: Artistic-1.0 OR GPL-1.0-or-later -Summary: C<try/catch/finally> syntax for perl +Summary: Try/catch/finally syntax for perl URL: https://metacpan.org/release/%{cpan_name} Source0: https://cpan.metacpan.org/authors/id/P/PE/PEVANS/%{cpan_name}-%{version}.tar.gz Source1: cpanspec.yml ++++++ Syntax-Keyword-Try-0.27.tar.gz -> Syntax-Keyword-Try-0.28.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Syntax-Keyword-Try-0.27/Changes new/Syntax-Keyword-Try-0.28/Changes --- old/Syntax-Keyword-Try-0.27/Changes 2022-02-20 19:03:20.000000000 +0100 +++ new/Syntax-Keyword-Try-0.28/Changes 2022-12-08 15:27:49.000000000 +0100 @@ -1,5 +1,11 @@ Revision history for Syntax-Keyword-Try +0.28 2022-12-08 + [CHANGES] + * Account for the new structure of ->cop_warnings in perl v5.37.6 + * Updated to latest hax/ support files; accounting for newPADxVOP in + latest bleadperl + 0.27 2022-02-22 [CHANGES] * Updates to support Feature::Compat::Try 0.05 with new `finally {}` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Syntax-Keyword-Try-0.27/MANIFEST new/Syntax-Keyword-Try-0.28/MANIFEST --- old/Syntax-Keyword-Try-0.27/MANIFEST 2022-02-20 19:03:20.000000000 +0100 +++ new/Syntax-Keyword-Try-0.28/MANIFEST 2022-12-08 15:27:49.000000000 +0100 @@ -8,7 +8,11 @@ lib/Syntax/Keyword/Try.pm lib/Syntax/Keyword/Try.xs lib/Syntax/Keyword/Try/Deparse.pm +LICENSE MANIFEST This list of files +META.json +META.yml +README t/00use.t t/01trycatch.t t/02tryfinally.t @@ -28,7 +32,3 @@ t/90rt123547.t t/90rt125971.t t/99pod.t -README -LICENSE -META.yml -META.json diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Syntax-Keyword-Try-0.27/META.json new/Syntax-Keyword-Try-0.28/META.json --- old/Syntax-Keyword-Try-0.27/META.json 2022-02-20 19:03:20.000000000 +0100 +++ new/Syntax-Keyword-Try-0.28/META.json 2022-12-08 15:27:49.000000000 +0100 @@ -40,11 +40,11 @@ "provides" : { "Syntax::Keyword::Try" : { "file" : "lib/Syntax/Keyword/Try.pm", - "version" : "0.27" + "version" : "0.28" }, "Syntax::Keyword::Try::Deparse" : { "file" : "lib/Syntax/Keyword/Try/Deparse.pm", - "version" : "0.27" + "version" : "0.28" } }, "release_status" : "stable", @@ -54,6 +54,6 @@ ], "x_IRC" : "irc://irc.perl.org/#io-async" }, - "version" : "0.27", - "x_serialization_backend" : "JSON::PP version 4.06" + "version" : "0.28", + "x_serialization_backend" : "JSON::PP version 4.07" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Syntax-Keyword-Try-0.27/META.yml new/Syntax-Keyword-Try-0.28/META.yml --- old/Syntax-Keyword-Try-0.27/META.yml 2022-02-20 19:03:20.000000000 +0100 +++ new/Syntax-Keyword-Try-0.28/META.yml 2022-12-08 15:27:49.000000000 +0100 @@ -18,15 +18,15 @@ provides: Syntax::Keyword::Try: file: lib/Syntax/Keyword/Try.pm - version: '0.27' + version: '0.28' Syntax::Keyword::Try::Deparse: file: lib/Syntax/Keyword/Try/Deparse.pm - version: '0.27' + version: '0.28' requires: XS::Parse::Keyword: '0.06' perl: '5.014' resources: IRC: irc://irc.perl.org/#io-async license: http://dev.perl.org/licenses/ -version: '0.27' +version: '0.28' x_serialization_backend: 'CPAN::Meta::YAML version 0.018' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Syntax-Keyword-Try-0.27/hax/optree-additions.c.inc new/Syntax-Keyword-Try-0.28/hax/optree-additions.c.inc --- old/Syntax-Keyword-Try-0.27/hax/optree-additions.c.inc 2022-02-20 19:03:20.000000000 +0100 +++ new/Syntax-Keyword-Try-0.28/hax/optree-additions.c.inc 2022-12-08 15:27:49.000000000 +0100 @@ -16,15 +16,6 @@ return newBINOP(OP_AELEM, flags, first, newSVOP(OP_CONST, 0, newSViv(key))); } -#define newPADxVOP(type, padix, flags, private) S_newPADxVOP(aTHX_ type, padix, flags, private) -static OP *S_newPADxVOP(pTHX_ I32 type, PADOFFSET padix, I32 flags, U32 private) -{ - OP *op = newOP(type, flags); - op->op_targ = padix; - op->op_private = private; - return op; -} - #if HAVE_PERL_VERSION(5, 22, 0) # define HAVE_UNOP_AUX #endif @@ -80,3 +71,14 @@ return op; } + +/* If `@_` is called "snail", then elements of it can be called "slugs"; i.e. + * snails without their container + */ +#define newSLUGOP(idx) S_newSLUGOP(aTHX_ idx) +static OP *S_newSLUGOP(pTHX_ int idx) +{ + OP *op = newGVOP(OP_AELEMFAST, 0, PL_defgv); + op->op_private = idx; + return op; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Syntax-Keyword-Try-0.27/hax/perl-additions.c.inc new/Syntax-Keyword-Try-0.28/hax/perl-additions.c.inc --- old/Syntax-Keyword-Try-0.27/hax/perl-additions.c.inc 2022-02-20 19:03:20.000000000 +0100 +++ new/Syntax-Keyword-Try-0.28/hax/perl-additions.c.inc 2022-12-08 15:27:49.000000000 +0100 @@ -1,9 +1,5 @@ /* vi: set ft=c : */ -#ifndef av_count -# define av_count(av) (AvFILL(av) + 1) -#endif - #if HAVE_PERL_VERSION(5, 22, 0) # define PadnameIsNULL(pn) (!(pn)) #else @@ -30,16 +26,6 @@ return ret; } -#define sv_setrv(s, r) S_sv_setrv(aTHX_ s, r) -static void S_sv_setrv(pTHX_ SV *sv, SV *rv) -{ - sv_setiv(sv, (IV)rv); -#if !HAVE_PERL_VERSION(5, 24, 0) - SvIOK_off(sv); -#endif - SvROK_on(sv); -} - static char *PL_savetype_name[] PERL_UNUSED_DECL = { /* These have been present since 5.16 */ [SAVEt_ADELETE] = "ADELETE", @@ -191,7 +177,7 @@ # define fetch_superclass_method_pv(stash, pv, len, level) S_fetch_superclass_method_pv(aTHX_ stash, pv, len, level) static CV *S_fetch_superclass_method_pv(pTHX_ HV *stash, const char *pv, STRLEN len, U32 level) { -# if HAVE_PERL_VERSION(5, 18, 0) +#if HAVE_PERL_VERSION(5, 18, 0) GV *gv = gv_fetchmeth_pvn(stash, pv, len, level, GV_SUPER); # else SV *superclassname = newSVpvf("%*s::SUPER", HvNAMELEN_get(stash), HvNAME_get(stash)); @@ -249,15 +235,19 @@ return TRUE; } -#if HAVE_PERL_VERSION(5, 16, 0) - /* TODO: perl 5.14 lacks HvNAMEUTF8, HvNAMELEN, sv_derived_from_pvn */ -# define sv_derived_from_hv(sv, hv) MY_sv_derived_from_hv(aTHX_ sv, hv) -static bool MY_sv_derived_from_hv(pTHX_ SV *sv, HV *hv) +#define av_push_from_av_inc(dst, src) S_av_push_from_av(aTHX_ dst, src, TRUE) +#define av_push_from_av_noinc(dst, src) S_av_push_from_av(aTHX_ dst, src, FALSE) +static void S_av_push_from_av(pTHX_ AV *dst, AV *src, bool refcnt_inc) { - char *hvname = HvNAME(hv); - if(!hvname) - return FALSE; + SSize_t count = av_count(src); + SSize_t i; + + av_extend(dst, av_count(dst) + count - 1); - return sv_derived_from_pvn(sv, hvname, HvNAMELEN(hv), HvNAMEUTF8(hv) ? SVf_UTF8 : 0); + SV **vals = AvARRAY(src); + + for(i = 0; i < count; i++) { + SV *sv = vals[i]; + av_push(dst, refcnt_inc ? SvREFCNT_inc(sv) : sv); + } } -#endif /* HAVE_PERL_VERSION(5, 16, 0) */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Syntax-Keyword-Try-0.27/hax/perl-backcompat.c.inc new/Syntax-Keyword-Try-0.28/hax/perl-backcompat.c.inc --- old/Syntax-Keyword-Try-0.27/hax/perl-backcompat.c.inc 2022-02-20 19:03:20.000000000 +0100 +++ new/Syntax-Keyword-Try-0.28/hax/perl-backcompat.c.inc 2022-12-08 15:27:49.000000000 +0100 @@ -23,6 +23,7 @@ typedef SV PADNAME; # define PadnamePV(pn) (SvPOKp(pn) ? SvPVX(pn) : NULL) # define PadnameLEN(pn) SvCUR(pn) +# define PadnameIsSTATE(pn) (!!SvPAD_STATE(pn)) # define PadnameOUTER(pn) (SvFAKE(pn) && !SvPAD_STATE(pn)) # define PadnamelistARRAY(pnl) AvARRAY(pnl) # define PadnamelistMAX(pnl) AvFILLp(pnl) @@ -31,6 +32,24 @@ # define PadMAX(pad) AvFILLp(pad) #endif +#if !HAVE_PERL_VERSION(5, 22, 0) +# define CvPADLIST_set(cv, padlist) (CvPADLIST(cv) = padlist) +# define newPADNAMEpvn(p,n) S_newPADNAMEpvn(aTHX_ p,n) +static PADNAME *S_newPADNAMEpvn(pTHX_ const char *pv, STRLEN n) +{ + PADNAME *pn = newSVpvn(pv, n); + /* PADNAMEs need to be at least SVt_PVNV in order to store the COP_SEQ_* + * fields */ + sv_upgrade(pn, SVt_PVNV); + return pn; +} +# define PadnameREFCNT_dec(pn) SvREFCNT_dec(pn) +#endif + +#ifndef av_count +# define av_count(av) (AvFILL(av) + 1) +#endif + #ifndef av_top_index # define av_top_index(av) AvFILL(av) #endif @@ -43,6 +62,10 @@ # define block_start(a) Perl_block_start(aTHX_ a) #endif +#ifndef cophh_exists_pvs +# define cophh_exists_pvs(a,b,c) cBOOL(cophh_fetch_pvs(a,b,c)) +#endif + #ifndef cv_clone # define cv_clone(a) Perl_cv_clone(aTHX_ a) #endif @@ -69,6 +92,10 @@ # define OpSIBLING(op) ((op)->op_sibling) #endif +#ifndef OpHAS_SIBLING +# define OpHAS_SIBLING(op) (cBOOL(OpSIBLING(op))) +#endif + #ifndef OpMORESIB_set # define OpMORESIB_set(op,sib) ((op)->op_sibling = (sib)) #endif @@ -123,7 +150,7 @@ /* On Perl 5.14 this had a different name */ #ifndef pad_add_name_pvn #define pad_add_name_pvn(name, len, flags, typestash, ourstash) MY_pad_add_name(aTHX_ name, len, flags, typestash, ourstash) -PADOFFSET MY_pad_add_name(pTHX_ const char *name, STRLEN len, U32 flags, HV *typestash, HV *ourstash) +static PADOFFSET MY_pad_add_name(pTHX_ const char *name, STRLEN len, U32 flags, HV *typestash, HV *ourstash) { /* perl 5.14's Perl_pad_add_name requires a NUL-terminated name */ SV *namesv = sv_2mortal(newSVpvn(name, len)); @@ -136,3 +163,53 @@ # define isIDFIRST_utf8_safe(s, e) (PERL_UNUSED_ARG(e), isIDFIRST_utf8(s)) # define isIDCONT_utf8_safe(s, e) (PERL_UNUSED_ARG(e), isIDCONT_utf8(s)) #endif + +#if !HAVE_PERL_VERSION(5, 26, 0) +# define sv_set_undef(sv) sv_setsv(sv, &PL_sv_undef) +#endif + +#ifndef newAVav +# define newAVav(av) S_newAVav(aTHX_ av) +static AV *S_newAVav(pTHX_ AV *av) +{ + AV *ret = newAV(); + U32 count = av_count(av); + U32 i; + for(i = 0; i < count; i++) + av_push(ret, newSVsv(AvARRAY(av)[i])); + return ret; +} +#endif + +#if !defined(sv_derived_from_hv) && HAVE_PERL_VERSION(5, 16, 0) +# define sv_derived_from_hv(sv, hv) MY_sv_derived_from_hv(aTHX_ sv, hv) +static bool MY_sv_derived_from_hv(pTHX_ SV *sv, HV *hv) +{ + char *hvname = HvNAME(hv); + if(!hvname) + return FALSE; + + return sv_derived_from_pvn(sv, hvname, HvNAMELEN(hv), HvNAMEUTF8(hv) ? SVf_UTF8 : 0); +} +#endif + +#ifdef PERL_USE_GCC_BRACE_GROUPS +# define xV_FROM_REF(XV, ref) \ + ({ SV *_ref = ref; assert(SvROK(_ref)); assert(SvTYPE(SvRV(_ref)) == SVt_PV ## XV); (XV *)(SvRV(_ref)); }) +#else +# define xV_FROM_REF(XV, ref) ((XV *)SvRV(ref)) +#endif + +#define AV_FROM_REF(ref) xV_FROM_REF(AV, ref) +#define CV_FROM_REF(ref) xV_FROM_REF(CV, ref) +#define HV_FROM_REF(ref) xV_FROM_REF(HV, ref) + +#ifndef newPADxVOP +# define newPADxVOP(type, flags, padix) S_newPADxVOP(aTHX_ type, flags, padix) +static OP *S_newPADxVOP(pTHX_ I32 type, I32 flags, PADOFFSET padix) +{ + OP *op = newOP(type, flags); + op->op_targ = padix; + return op; +} +#endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Syntax-Keyword-Try-0.27/lib/Syntax/Keyword/Try/Deparse.pm new/Syntax-Keyword-Try-0.28/lib/Syntax/Keyword/Try/Deparse.pm --- old/Syntax-Keyword-Try-0.27/lib/Syntax/Keyword/Try/Deparse.pm 2022-02-20 19:03:20.000000000 +0100 +++ new/Syntax-Keyword-Try-0.28/lib/Syntax/Keyword/Try/Deparse.pm 2022-12-08 15:27:49.000000000 +0100 @@ -3,7 +3,7 @@ # # (C) Paul Evans, 2021 -- leon...@leonerd.org.uk -package Syntax::Keyword::Try::Deparse 0.27; +package Syntax::Keyword::Try::Deparse 0.28; use v5.14; use warnings; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Syntax-Keyword-Try-0.27/lib/Syntax/Keyword/Try.pm new/Syntax-Keyword-Try-0.28/lib/Syntax/Keyword/Try.pm --- old/Syntax-Keyword-Try-0.27/lib/Syntax/Keyword/Try.pm 2022-02-20 19:03:20.000000000 +0100 +++ new/Syntax-Keyword-Try-0.28/lib/Syntax/Keyword/Try.pm 2022-12-08 15:27:49.000000000 +0100 @@ -3,7 +3,7 @@ # # (C) Paul Evans, 2016-2022 -- leon...@leonerd.org.uk -package Syntax::Keyword::Try 0.27; +package Syntax::Keyword::Try 0.28; use v5.14; use warnings; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Syntax-Keyword-Try-0.27/lib/Syntax/Keyword/Try.xs new/Syntax-Keyword-Try-0.28/lib/Syntax/Keyword/Try.xs --- old/Syntax-Keyword-Try-0.27/lib/Syntax/Keyword/Try.xs 2022-02-20 19:03:20.000000000 +0100 +++ new/Syntax-Keyword-Try-0.28/lib/Syntax/Keyword/Try.xs 2022-12-08 15:27:49.000000000 +0100 @@ -179,7 +179,16 @@ static OP *MY_newSTATEOP_nowarnings(pTHX) { OP *op = newSTATEOP(0, NULL, NULL); +#if HAVE_PERL_VERSION(5,37,6) + /* cop_warnings no longer has the weird STRLEN prefix on it + * https://github.com/Perl/perl5/pull/20469 + */ + char *warnings = ((COP *)op)->cop_warnings; +# define WARNING_BITS warnings +#else STRLEN *warnings = ((COP *)op)->cop_warnings; +# define WARNING_BITS (char *)(warnings + 1) +#endif char *warning_bits; if(warnings == pWARN_NONE) @@ -191,15 +200,17 @@ else if(warnings == pWARN_ALL) warning_bits = WARN_ALLstring; else - warning_bits = (char *)(warnings + 1); + warning_bits = WARNING_BITS; warnings = Perl_new_warnings_bitfield(aTHX_ warnings, warning_bits, WARNsize); ((COP *)op)->cop_warnings = warnings; - warning_bits = (char *)(warnings + 1); + warning_bits = WARNING_BITS; warning_bits[(2*WARN_EXITING) / 8] &= ~(1 << (2*WARN_EXITING % 8)); return op; + +#undef WARNING_BITS } static void rethread_op(OP *op, OP *old, OP *new) @@ -437,14 +448,14 @@ OP *type = args[argi++]->op; #ifdef HAVE_OP_ISA condop = newBINOP(OP_ISA, 0, - newPADxVOP(OP_PADSV, catchvar, 0, 0), type); + newPADxVOP(OP_PADSV, 0, catchvar), type); #else /* Allow a bareword on RHS of `isa` */ if(type->op_type == OP_CONST) type->op_private &= ~(OPpCONST_BARE|OPpCONST_STRICT); condop = newBINOP_CUSTOM(&pp_isa, 0, - newPADxVOP(OP_PADSV, catchvar, 0, 0), type); + newPADxVOP(OP_PADSV, 0, catchvar), type); #endif break; } @@ -460,7 +471,7 @@ regexp->op_targ = catchvar; #else /* Older perls need a stacked OP_PADSV op */ - cPMOPx(regexp)->op_first = newPADxVOP(OP_PADSV, catchvar, 0, 0); + cPMOPx(regexp)->op_first = newPADxVOP(OP_PADSV, 0, catchvar); regexp->op_flags |= OPf_KIDS|OPf_STACKED; #endif condop = regexp; @@ -492,7 +503,7 @@ if(catchvar) { /* my $var = $@ */ assignop = newBINOP(OP_SASSIGN, 0, - newGVOP(OP_GVSV, 0, PL_errgv), newPADxVOP(OP_PADSV, catchvar, OPf_MOD, OPpLVAL_INTRO)); + newGVOP(OP_GVSV, 0, PL_errgv), newPADxVOP(OP_PADSV, OPf_MOD | OPpLVAL_INTRO << 8, catchvar)); } if(condop) {