diff --git a/CONTRIBUTING.pod b/CONTRIBUTING.pod index 47e59c732..7fbf9e528 100644 --- a/CONTRIBUTING.pod +++ b/CONTRIBUTING.pod @@ -8,7 +8,7 @@ Moose::Manual::Contributing - How to get involved in Moose =head1 VERSION -version 2.2206 +version 2.2207 =for comment CONTRIBUTING.pod is generated from lib/Moose/Manual/Contributing.pod diff --git a/Changes b/Changes index fc375ab51..841bebe09 100644 --- a/Changes +++ b/Changes @@ -1,7 +1,7 @@ Also see Moose::Manual::Delta for more details of, and workarounds for, noteworthy changes. -{{$NEXT}} +2.2207 2024-01-21 [TESTS] diff --git a/ppport.h b/ppport.h index 67ada51ec..17dacc80a 100644 --- a/ppport.h +++ b/ppport.h @@ -4,9 +4,9 @@ my $void = <<'SKIP'; /* ---------------------------------------------------------------------- - ppport.h -- Perl/Pollution/Portability Version 3.69 + ppport.h -- Perl/Pollution/Portability Version 3.72 - Automatically created by Devel::PPPort running under perl 5.037008. + Automatically created by Devel::PPPort running under perl 5.039006. Do NOT edit this file directly! -- Edit PPPort_pm.PL and the includes in parts/inc/ instead. @@ -21,7 +21,7 @@ SKIP =head1 NAME -ppport.h - Perl/Pollution/Portability version 3.69 +ppport.h - Perl/Pollution/Portability version 3.72 =head1 SYNOPSIS @@ -588,7 +588,7 @@ BEGIN { require warnings if "$]" > '5.006' } # Disable broken TRIE-optimization BEGIN { eval '${^RE_TRIE_MAXBUF} = -1' if "$]" >= "5.009004" && "$]" <= "5.009005"} -my $VERSION = 3.69; +my $VERSION = 3.72; my %opt = ( quiet => 0, @@ -7087,6 +7087,7 @@ PerlSock_socket_cloexec|5.027008||Viu PerlSock_socketpair|5.005000||Viu PerlSock_socketpair_cloexec|5.027008||Viu Perl_sqrt|5.006000|5.006000|n +PERL_STACK_OFFSET_DEFINED|||piu PERL_STACK_OVERFLOW_CHECK|5.006000||Viu PERL_STATIC_FORCE_INLINE|5.031011||Viu PERL_STATIC_FORCE_INLINE_NO_RET|5.031011||Viu @@ -8895,6 +8896,8 @@ SSPUSHPTR|5.003007||Viu SSPUSHUV|5.013001||Viu ST|5.003007|5.003007| stack_grow|5.003007||cVu +Stack_off_t_MAX|||piu +Stack_off_t|||piu STANDARD_C|5.003007||Viu STAR|5.003007||Viu STAR_t8|5.035004||Viu @@ -9020,7 +9023,7 @@ sv_2mortal|5.003007|5.003007| sv_2num|5.010000||xVi sv_2nv|5.013001||Viu sv_2nv_flags|5.013001|5.013001| -sv_2pv|5.005000||cVu +sv_2pv|5.005000||pcVu sv_2pvbyte|5.006000|5.003007|p sv_2pvbyte_flags|5.031004|5.031004|u sv_2pvbyte_nolen|5.009003||pcV @@ -11567,7 +11570,7 @@ __DATA__ #define DPPP_CAT2(x,y) CAT2(x,y) #define DPPP_(name) DPPP_CAT2(DPPP_NAMESPACE, name) -#define D_PPP_RELEASE_DATE 1647561600 /* 2022-03-18 */ +#define D_PPP_RELEASE_DATE 1693785600 /* 2023-09-04 */ #if ! defined(PERL_REVISION) && ! defined(PERL_VERSION_MAJOR) # if ! defined(__PATCHLEVEL_H_INCLUDED__) \ @@ -11679,8 +11682,8 @@ __DATA__ * is in ASCII and EBCDIC respectively */ #ifndef PERL_VERSION_EQ # define PERL_VERSION_EQ(j,n,p) \ - (((p) == '*') ? ( (j) == D_PPP_VERSION_MAJOR \ - && (n) == D_PPP_VERSION_MINOR) \ + (((p) == '*') ? ( (j) == D_PPP_MAJOR \ + && (n) == D_PPP_MINOR) \ : (PERL_BCDVERSION == D_PPP_JNP_TO_BCD(j,n,p))) #endif @@ -11689,7 +11692,7 @@ __DATA__ #endif #ifndef PERL_VERSION_LT # define PERL_VERSION_LT(j,n,p) /* p=='*' means _LT(j,n,0) */ \ - (PERL_BCDVERSION < D_PPP_JNP_TO_BCD( (j), \ + (PERL_BCDVERSION < D_PPP_JNP_TO_BCD( (j), \ (n), \ (((p) == '*') ? 0 : (p)))) #endif @@ -11698,10 +11701,10 @@ __DATA__ # define PERL_VERSION_GE(j,n,p) (! PERL_VERSION_LT(j,n,p)) #endif #ifndef PERL_VERSION_LE -# define PERL_VERSION_LE(j,n,p) /* p=='*' means _LT(j,n+1,0) */ \ - (PERL_BCDVERSION < D_PPP_JNP_TO_BCD( (j), \ - (((p) == '*') ? ((n)+1) : (n)), \ - (((p) == '*') ? 0 : (p)))) +# define PERL_VERSION_LE(j,n,p) /* p=='*' means _LE(j,n,999) */ \ + (PERL_BCDVERSION <= D_PPP_JNP_TO_BCD( (j), \ + (n), \ + (((p) == '*') ? 999 : (p)))) #endif #ifndef PERL_VERSION_GT @@ -12770,6 +12773,12 @@ typedef NVTYPE NV; # define PTR2ul(p) INT2PTR(unsigned long,p) # endif #endif + +#ifndef PERL_STACK_OFFSET_DEFINED + typedef I32 Stack_off_t; +# define Stack_off_t_MAX I32_MAX +# define PERL_STACK_OFFSET_DEFINED +#endif #ifndef PTR2nat # define PTR2nat(p) (PTRV)(p) #endif @@ -12790,17 +12799,38 @@ typedef NVTYPE NV; # define PTR2NV(p) NUM2PTR(NV,p) #endif +#ifdef __cplusplus #undef START_EXTERN_C +#ifndef START_EXTERN_C +# define START_EXTERN_C extern "C" { +#endif + #undef END_EXTERN_C +#ifndef END_EXTERN_C +# define END_EXTERN_C } +#endif + #undef EXTERN_C -#ifdef __cplusplus -# define START_EXTERN_C extern "C" { -# define END_EXTERN_C } -# define EXTERN_C extern "C" +#ifndef EXTERN_C +# define EXTERN_C extern "C" +#endif + #else +#undef START_EXTERN_C +#ifndef START_EXTERN_C # define START_EXTERN_C +#endif + +#undef END_EXTERN_C +#ifndef END_EXTERN_C # define END_EXTERN_C -# define EXTERN_C extern +#endif + +#undef EXTERN_C +#ifndef EXTERN_C +# define EXTERN_C extern +#endif + #endif #if (PERL_BCDVERSION < 0x5004000) || defined(PERL_GCC_PEDANTIC) @@ -12820,14 +12850,28 @@ typedef NVTYPE NV; # endif #endif +#if defined(VOIDFLAGS) && (VOIDFLAGS) && (defined(sun) || defined(__sun__)) && !defined(__GNUC__) #undef STMT_START +#ifndef STMT_START +# define STMT_START if (1) +#endif + #undef STMT_END -#if defined(VOIDFLAGS) && (VOIDFLAGS) && (defined(sun) || defined(__sun__)) && !defined(__GNUC__) -# define STMT_START if (1) -# define STMT_END else (void)0 +#ifndef STMT_END +# define STMT_END else (void)0 +#endif + #else -# define STMT_START do -# define STMT_END while (0) +#undef STMT_START +#ifndef STMT_START +# define STMT_START do +#endif + +#undef STMT_END +#ifndef STMT_END +# define STMT_END while (0) +#endif + #endif #ifndef boolSV # define boolSV(b) ((b) ? &PL_sv_yes : &PL_sv_no) @@ -12919,13 +12963,16 @@ typedef NVTYPE NV; #endif #if (PERL_BCDVERSION < 0x5005000) -# undef XSRETURN -# define XSRETURN(off) \ +#undef XSRETURN +#ifndef XSRETURN +# define XSRETURN(off) \ STMT_START { \ PL_stack_sp = PL_stack_base + ax + ((off) - 1); \ return; \ } STMT_END #endif + +#endif #ifndef XSPROTO # define XSPROTO(name) void name(pTHX_ CV* cv) #endif @@ -13732,7 +13779,8 @@ typedef OP* (CPERLscope(*Perl_check_t)) (pTHX_ OP*); # define isPRINT_utf8_safe(s,e) D_PPP_IS_GENERIC_UTF8_SAFE(s, e, PRINT) #endif -# undef isPSXSPC_utf8_safe /* Use the modern definition */ +/* Use the modern definition */ +#undef isPSXSPC_utf8_safe #ifndef isPSXSPC_utf8_safe # define isPSXSPC_utf8_safe(s,e) isSPACE_utf8_safe(s,e) #endif @@ -13856,7 +13904,8 @@ typedef OP* (CPERLscope(*Perl_check_t)) (pTHX_ OP*); # define isPRINT_LC_utf8_safe(s,e) D_PPP_IS_GENERIC_LC_UTF8_SAFE(s, e, PRINT) #endif -# undef isPSXSPC_LC_utf8_safe /* Use the modern definition */ +/* Use the modern definition */ +#undef isPSXSPC_LC_utf8_safe #ifndef isPSXSPC_LC_utf8_safe # define isPSXSPC_LC_utf8_safe(s,e) isSPACE_LC_utf8_safe(s,e) #endif @@ -14399,13 +14448,39 @@ DPPP_(my_sv_setpvf_mg_nocontext)(SV * const sv, const char * const pat, ...) # define SV_COW_SHARED_HASH_KEYS 0 #endif +#if (PERL_BCDVERSION < 0x5007002) +# +/* Fix sv_2pv for Perl < 5.7.2 - view https://github.com/Dual-Life/Devel-PPPort/issues/231 */ + +# ifdef sv_2pv +# undef sv_2pv +# endif + +# if defined(PERL_USE_GCC_BRACE_GROUPS) +#ifndef sv_2pv +# define sv_2pv(sv, lp) ({ SV *_sv_2pv = (sv); STRLEN sv_2pv_dummy_; STRLEN *_lp_2pv = (lp); _lp_2pv = _lp_2pv ? : &sv_2pv_dummy_; SvPOKp(_sv_2pv) ? ((*(_lp_2pv) = SvCUR(_sv_2pv)), SvPVX(_sv_2pv)) : Perl_sv_2pv(aTHX_ _sv_2pv, (_lp_2pv)); }) +#endif + +# else +#ifndef sv_2pv +# define sv_2pv(sv, lp) (SvPOKp(sv) ? ((*((lp) ? (lp) : &PL_na) = SvCUR(sv)), SvPVX(sv)) : Perl_sv_2pv(aTHX_ (sv), (lp))) +#endif + +# endif + +#endif + +#if (PERL_BCDVERSION < 0x5007002) + +/* Define sv_2pv_flags for Perl < 5.7.2 which does not have it at all */ + #if defined(PERL_USE_GCC_BRACE_GROUPS) #ifndef sv_2pv_flags -# define sv_2pv_flags(sv, lp, flags) ({ SV *_sv = (sv); const I32 _flags = (flags); STRLEN *_lp = lp; _lp = _lp ? : &PL_na; (!(_flags & SV_GMAGIC) && SvGMAGICAL(_sv)) ? ({ char *_pv; SvGMAGICAL_off(_sv); _pv = sv_2pv(_sv, _lp); SvGMAGICAL_on(_sv); _pv; }) : sv_2pv(_sv, _lp); }) +# define sv_2pv_flags(sv, lp, flags) ({ SV *_sv = (sv); STRLEN sv_2pv_dummy_; const I32 _flags = (flags); STRLEN *_lp = lp; _lp = _lp ? : &sv_2pv_dummy_; (!(_flags & SV_GMAGIC) && SvGMAGICAL(_sv)) ? ({ char *_pv; SvGMAGICAL_off(_sv); _pv = sv_2pv(_sv, _lp); SvGMAGICAL_on(_sv); _pv; }) : sv_2pv(_sv, _lp); }) #endif #ifndef sv_pvn_force_flags -# define sv_pvn_force_flags(sv, lp, flags) ({ SV *_sv = (sv); const I32 _flags = (flags); STRLEN *_lp = lp; _lp = _lp ? : &PL_na; (!(_flags & SV_GMAGIC) && SvGMAGICAL(_sv)) ? ({ char *_pv; SvGMAGICAL_off(_sv); _pv = sv_pvn_force(_sv, _lp); SvGMAGICAL_on(_sv); _pv; }) : sv_pvn_force(_sv, _lp); }) +# define sv_pvn_force_flags(sv, lp, flags) ({ SV *_sv = (sv); STRLEN sv_2pv_dummy_; const I32 _flags = (flags); STRLEN *_lp = lp; _lp = _lp ? : &sv_2pv_dummy_; (!(_flags & SV_GMAGIC) && SvGMAGICAL(_sv)) ? ({ char *_pv; SvGMAGICAL_off(_sv); _pv = sv_pvn_force(_sv, _lp); SvGMAGICAL_on(_sv); _pv; }) : sv_pvn_force(_sv, _lp); }) #endif #else @@ -14419,6 +14494,28 @@ DPPP_(my_sv_setpvf_mg_nocontext)(SV * const sv, const char * const pat, ...) #endif +#elif (PERL_BCDVERSION < 0x5017002) + +/* Fix sv_2pv_flags for Perl < 5.17.2 */ + +# ifdef sv_2pv_flags +# undef sv_2pv_flags +# endif + +# if defined(PERL_USE_GCC_BRACE_GROUPS) +#ifndef sv_2pv_flags +# define sv_2pv_flags(sv, lp, flags) ({ SV *_sv_2pv = (sv); STRLEN sv_2pv_dummy_; const I32 _flags_2pv = (flags); STRLEN *_lp_2pv = (lp); _lp_2pv = _lp_2pv ? : &sv_2pv_dummy_; ((!(_flags_2pv & SV_GMAGIC) || !SvGMAGICAL(_sv_2pv)) && SvPOKp(_sv_2pv)) ? ((*(_lp_2pv) = SvCUR(_sv_2pv)), SvPVX(_sv_2pv)) : Perl_sv_2pv_flags(aTHX_ _sv_2pv, (_lp_2pv), (_flags_2pv)); }) +#endif + +# else +#ifndef sv_2pv_flags +# define sv_2pv_flags(sv, lp, flags) (((!((flags) & SV_GMAGIC) || !SvGMAGICAL(sv)) && SvPOKp(sv)) ? ((*((lp) ? (lp) : &PL_na) = SvCUR(sv)), SvPVX(sv)) : Perl_sv_2pv_flags(aTHX_ (sv), (lp), (flags))) +#endif + +# endif + +#endif + #if (PERL_BCDVERSION < 0x5008008) || ( (PERL_BCDVERSION >= 0x5009000) && (PERL_BCDVERSION < 0x5009003) ) # define D_PPP_SVPV_NOLEN_LP_ARG &PL_na #else @@ -16440,10 +16537,10 @@ DPPP_(my_mg_findext)(const SV * sv, int type, const MGVTBL *vtbl) { #if !defined(sv_unmagicext) #if defined(NEED_sv_unmagicext) -static int DPPP_(my_sv_unmagicext)(pTHX_ SV * const sv, const int type, MGVTBL * vtbl); +static int DPPP_(my_sv_unmagicext)(pTHX_ SV * const sv, const int type, const MGVTBL * vtbl); static #else -extern int DPPP_(my_sv_unmagicext)(pTHX_ SV * const sv, const int type, MGVTBL * vtbl); +extern int DPPP_(my_sv_unmagicext)(pTHX_ SV * const sv, const int type, const MGVTBL * vtbl); #endif #if defined(NEED_sv_unmagicext) || defined(NEED_sv_unmagicext_GLOBAL) @@ -16456,7 +16553,7 @@ extern int DPPP_(my_sv_unmagicext)(pTHX_ SV * const sv, const int type, MGVTBL * int -DPPP_(my_sv_unmagicext)(pTHX_ SV *const sv, const int type, MGVTBL *vtbl) +DPPP_(my_sv_unmagicext)(pTHX_ SV *const sv, const int type, const MGVTBL *vtbl) { MAGIC* mg; MAGIC** mgp;