Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package perl-XS-Parse-Keyword for 
openSUSE:Factory checked in at 2023-01-05 15:00:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-XS-Parse-Keyword (Old)
 and      /work/SRC/openSUSE:Factory/.perl-XS-Parse-Keyword.new.1563 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-XS-Parse-Keyword"

Thu Jan  5 15:00:18 2023 rev:11 rq:1055924 version:0.31

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/perl-XS-Parse-Keyword/perl-XS-Parse-Keyword.changes  
    2022-12-14 14:11:08.391536946 +0100
+++ 
/work/SRC/openSUSE:Factory/.perl-XS-Parse-Keyword.new.1563/perl-XS-Parse-Keyword.changes
    2023-01-05 15:00:31.268915362 +0100
@@ -1,0 +2,13 @@
+Mon Dec 26 03:08:39 UTC 2022 - Tina Müller <timueller+p...@suse.de>
+
+- updated to 0.31
+   see /usr/share/doc/packages/perl-XS-Parse-Keyword/Changes
+
+  0.31    2022-12-25
+          [CHANGES]
+           * PL_infix_plugin now exists in 5.37.7
+           * Support the new infix operator precedence levels added by
+             perl v5.37.7
+           * Various updates to hax/ support files
+
+-------------------------------------------------------------------

Old:
----
  XS-Parse-Keyword-0.30.tar.gz

New:
----
  XS-Parse-Keyword-0.31.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-XS-Parse-Keyword.spec ++++++
--- /var/tmp/diff_new_pack.ZjkyHg/_old  2023-01-05 15:00:31.912918758 +0100
+++ /var/tmp/diff_new_pack.ZjkyHg/_new  2023-01-05 15:00:31.936918884 +0100
@@ -18,7 +18,7 @@
 
 %define cpan_name XS-Parse-Keyword
 Name:           perl-XS-Parse-Keyword
-Version:        0.30
+Version:        0.31
 Release:        0
 License:        Artistic-1.0 OR GPL-1.0-or-later
 Summary:        XS functions to assist in parsing keyword syntax

++++++ XS-Parse-Keyword-0.30.tar.gz -> XS-Parse-Keyword-0.31.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/XS-Parse-Keyword-0.30/Build.PL 
new/XS-Parse-Keyword-0.31/Build.PL
--- old/XS-Parse-Keyword-0.30/Build.PL  2022-12-03 15:51:44.000000000 +0100
+++ new/XS-Parse-Keyword-0.31/Build.PL  2022-12-25 13:41:09.000000000 +0100
@@ -43,8 +43,6 @@
 
    my $have_pl_infix_plugin = 0;
 
-   # No released version of perl (yet) has PL_infix_plugin. This commandline
-   # argument allows it to build if patched correctly.
    $have_pl_infix_plugin = 1 if grep { $_ eq "--have-pl_infix_plugin" } @ARGV;
 
    $have_pl_infix_plugin ||= $cc->try_compile_run(
@@ -61,7 +59,7 @@
    return 0;
 }
 EOF
-   ) if $] >= 5.037000; # maybe I'll start this in 5.37...
+   ) if $] >= 5.037007;
 
    if( $have_pl_infix_plugin ) {
       print "Including support for core perl PL_infix_plugin\n";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/XS-Parse-Keyword-0.30/Changes 
new/XS-Parse-Keyword-0.31/Changes
--- old/XS-Parse-Keyword-0.30/Changes   2022-12-03 15:51:44.000000000 +0100
+++ new/XS-Parse-Keyword-0.31/Changes   2022-12-25 13:41:09.000000000 +0100
@@ -1,5 +1,12 @@
 Revision history for XS-Parse-Keyword
 
+0.31    2022-12-25
+        [CHANGES]
+         * PL_infix_plugin now exists in 5.37.7
+         * Support the new infix operator precedence levels added by
+           perl v5.37.7
+         * Various updates to hax/ support files
+
 0.30    2022-12-03
         [CHANGES]
          * Added XPK_STAGED_ANONSUB; inspired a bit by XS::Parse::Sublike for
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/XS-Parse-Keyword-0.30/META.json 
new/XS-Parse-Keyword-0.31/META.json
--- old/XS-Parse-Keyword-0.30/META.json 2022-12-03 15:51:44.000000000 +0100
+++ new/XS-Parse-Keyword-0.31/META.json 2022-12-25 13:41:09.000000000 +0100
@@ -40,19 +40,19 @@
    "provides" : {
       "XS::Parse::Infix" : {
          "file" : "lib/XS/Parse/Infix.pm",
-         "version" : "0.30"
+         "version" : "0.31"
       },
       "XS::Parse::Infix::Builder" : {
          "file" : "lib/XS/Parse/Infix/Builder.pm",
-         "version" : "0.30"
+         "version" : "0.31"
       },
       "XS::Parse::Keyword" : {
          "file" : "lib/XS/Parse/Keyword.pm",
-         "version" : "0.30"
+         "version" : "0.31"
       },
       "XS::Parse::Keyword::Builder" : {
          "file" : "lib/XS/Parse/Keyword/Builder.pm",
-         "version" : "0.30"
+         "version" : "0.31"
       }
    },
    "release_status" : "stable",
@@ -61,6 +61,6 @@
          "http://dev.perl.org/licenses/";
       ]
    },
-   "version" : "0.30",
+   "version" : "0.31",
    "x_serialization_backend" : "JSON::PP version 4.07"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/XS-Parse-Keyword-0.30/META.yml 
new/XS-Parse-Keyword-0.31/META.yml
--- old/XS-Parse-Keyword-0.30/META.yml  2022-12-03 15:51:44.000000000 +0100
+++ new/XS-Parse-Keyword-0.31/META.yml  2022-12-25 13:41:09.000000000 +0100
@@ -19,19 +19,19 @@
 provides:
   XS::Parse::Infix:
     file: lib/XS/Parse/Infix.pm
-    version: '0.30'
+    version: '0.31'
   XS::Parse::Infix::Builder:
     file: lib/XS/Parse/Infix/Builder.pm
-    version: '0.30'
+    version: '0.31'
   XS::Parse::Keyword:
     file: lib/XS/Parse/Keyword.pm
-    version: '0.30'
+    version: '0.31'
   XS::Parse::Keyword::Builder:
     file: lib/XS/Parse/Keyword/Builder.pm
-    version: '0.30'
+    version: '0.31'
 requires:
   perl: '5.014'
 resources:
   license: http://dev.perl.org/licenses/
-version: '0.30'
+version: '0.31'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/XS-Parse-Keyword-0.30/XSParseInfix.h 
new/XS-Parse-Keyword-0.31/XSParseInfix.h
--- old/XS-Parse-Keyword-0.30/XSParseInfix.h    2022-12-03 15:51:44.000000000 
+0100
+++ new/XS-Parse-Keyword-0.31/XSParseInfix.h    2022-12-25 13:41:09.000000000 
+0100
@@ -17,9 +17,18 @@
   XPI_CLS_MATCH_MISC,  /*  ... any other match-like predicate */
   XPI_CLS_ORDERING,    /* cmp or <=> */
 
-  XPI_CLS_ADD_MISC,    /* an operator at addition-like precedence */
-  XPI_CLS_MUL_MISC,    /* an operator at multiplication-like precedence */
-  XPI_CLS_POW_MISC,    /* an operator at power exponentiation-like precedence 
*/
+  /* Since the _MISC categories never turn up in selections, put them at high
+   * index so as to leave space for more */
+  XPI_CLS_LOW_MISC = 0x80,  /* an operator at low precedence */
+  XPI_CLS_LOGICAL_OR_LOW_MISC,
+  XPI_CLS_LOGICAL_AND_LOW_MISC,
+  XPI_CLS_ASSIGN_MISC,
+  XPI_CLS_LOGICAL_OR_MISC,
+  XPI_CLS_LOGICAL_AND_MISC,
+  XPI_CLS_ADD_MISC,         /* an operator at addition-like precedence */
+  XPI_CLS_MUL_MISC,         /* an operator at multiplication-like precedence */
+  XPI_CLS_POW_MISC,         /* an operator at power exponentiation-like 
precedence */
+  XPI_CLS_HIGH_MISC,        /* an operator at high precedence */
 };
 
 enum XSParseInfixSelection {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/XS-Parse-Keyword-0.30/hax/optree-additions.c.inc 
new/XS-Parse-Keyword-0.31/hax/optree-additions.c.inc
--- old/XS-Parse-Keyword-0.30/hax/optree-additions.c.inc        2022-12-03 
15:51:44.000000000 +0100
+++ new/XS-Parse-Keyword-0.31/hax/optree-additions.c.inc        2022-12-25 
13:41:09.000000000 +0100
@@ -3,7 +3,7 @@
 #define newAELEMOP(flags, first, key)  S_newAELEMOP(aTHX_ flags, first, key)
 static OP *S_newAELEMOP(pTHX_ U32 flags, OP *first, I32 key)
 {
-#if HAVE_PERL_VERSION(5, 16, 0)
+#if HAVE_PERL_VERSION(5,16,0)
   if(key >= -128 && key < 128 && first->op_type == OP_PADAV) {
     OP *o = newOP(OP_AELEMFAST_LEX, flags);
     o->op_private = (I8)key;
@@ -16,14 +16,6 @@
   return newBINOP(OP_AELEM, flags, first, newSVOP(OP_CONST, 0, newSViv(key)));
 }
 
-#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;
-}
-
 #if HAVE_PERL_VERSION(5, 22, 0)
 #  define HAVE_UNOP_AUX
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/XS-Parse-Keyword-0.30/hax/perl-backcompat.c.inc 
new/XS-Parse-Keyword-0.31/hax/perl-backcompat.c.inc
--- old/XS-Parse-Keyword-0.30/hax/perl-backcompat.c.inc 2022-12-03 
15:51:44.000000000 +0100
+++ new/XS-Parse-Keyword-0.31/hax/perl-backcompat.c.inc 2022-12-25 
13:41:09.000000000 +0100
@@ -92,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
@@ -160,6 +164,11 @@
 #  define isIDCONT_utf8_safe(s, e)   (PERL_UNUSED_ARG(e), isIDCONT_utf8(s))
 #endif
 
+#ifndef CXp_EVALBLOCK
+/* before perl 5.34 this was called CXp_TRYBLOCK */
+#  define CXp_EVALBLOCK CXp_TRYBLOCK
+#endif
+
 #if !HAVE_PERL_VERSION(5, 26, 0)
 #  define sv_set_undef(sv)  sv_setsv(sv, &PL_sv_undef)
 #endif
@@ -188,3 +197,24 @@
   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/XS-Parse-Keyword-0.30/lib/XS/Parse/Infix/Builder.pm 
new/XS-Parse-Keyword-0.31/lib/XS/Parse/Infix/Builder.pm
--- old/XS-Parse-Keyword-0.30/lib/XS/Parse/Infix/Builder.pm     2022-12-03 
15:51:44.000000000 +0100
+++ new/XS-Parse-Keyword-0.31/lib/XS/Parse/Infix/Builder.pm     2022-12-25 
13:41:09.000000000 +0100
@@ -3,7 +3,7 @@
 #
 #  (C) Paul Evans, 2021 -- leon...@leonerd.org.uk
 
-package XS::Parse::Infix::Builder 0.30;
+package XS::Parse::Infix::Builder 0.31;
 
 use v5.14;
 use warnings;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/XS-Parse-Keyword-0.30/lib/XS/Parse/Infix/Builder_data.pm.PL 
new/XS-Parse-Keyword-0.31/lib/XS/Parse/Infix/Builder_data.pm.PL
--- old/XS-Parse-Keyword-0.30/lib/XS/Parse/Infix/Builder_data.pm.PL     
2022-12-03 15:51:44.000000000 +0100
+++ new/XS-Parse-Keyword-0.31/lib/XS/Parse/Infix/Builder_data.pm.PL     
2022-12-25 13:41:09.000000000 +0100
@@ -28,7 +28,7 @@
    <$in_h> } );
 
 __DATA__
-package XS::Parse::Infix::Builder_data 0.30;
+package XS::Parse::Infix::Builder_data 0.31;
 
 use v5.14;
 use warnings;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/XS-Parse-Keyword-0.30/lib/XS/Parse/Infix.pm 
new/XS-Parse-Keyword-0.31/lib/XS/Parse/Infix.pm
--- old/XS-Parse-Keyword-0.30/lib/XS/Parse/Infix.pm     2022-12-03 
15:51:44.000000000 +0100
+++ new/XS-Parse-Keyword-0.31/lib/XS/Parse/Infix.pm     2022-12-25 
13:41:09.000000000 +0100
@@ -3,7 +3,7 @@
 #
 #  (C) Paul Evans, 2021-2022 -- leon...@leonerd.org.uk
 
-package XS::Parse::Infix 0.30;
+package XS::Parse::Infix 0.31;
 
 use v5.14;
 use warnings;
@@ -28,10 +28,9 @@
 changes or at least a rebuild of any module that depends on it.
 
 In addition, the places this functionality can be used are relatively small.
-No current release of perl actually supports custom infix operators, though I
-have a branch where I am currently experimenting with such support:
-
-L<https://github.com/leonerd/perl5/tree/infix-plugin>
+No current release of perl actually supports custom infix operators, though it
+has now been merged to C<blead>, the main development branch, and will be
+present in development release C<v5.37.7> onwards.
 
 In addition, the various C<XPK_INFIX_*> token types of L<XS::Parse::Keyword>
 support querying on this module, so some syntax provided by other modules may
@@ -49,8 +48,8 @@
 extension mechanism, meaning that custom infix operators registered with this
 module will actually be recognised by the perl parser.
 
-No actual production or development releases of perl yet support this feature,
-but see above for details of a branch which does.
+No actual production releases of perl yet support this feature, but see above
+for details of development versions which do.
 
 =cut
 
@@ -136,11 +135,11 @@
       const char *permit_hintkey;
       bool (*permit)(pTHX_ void *hookdata);
 
-      OP *(*new_op)(pTHX_ U32 flags, OP *lhs, OP *rhs, ANY *parsedata, void 
*hookdata);
+      OP *(*new_op)(pTHX_ U32 flags, OP *lhs, OP *rhs, SV **parsedata, void 
*hookdata);
       OP *(*ppaddr)(pTHX);
 
       /* optional */
-      void (*parse)(pTHX_ U32 flags, ANY *parsedata, void *hookdata);
+      void (*parse)(pTHX_ U32 flags, SV **parsedata, void *hookdata);
    };
 
 =head2 Flags
@@ -230,9 +229,9 @@
 attempt further parsing, in order to implement more complex syntax such as
 hyper-operators.
 
-When invoked, it is passed a pointer to an C<ANY>-typed storage variable. It
-is free to use whichever field of this variable it desires to store a result,
-which will then later be made available to the C<new_op> function.
+When invoked, it is passed a pointer to an C<SV *>-typed storage variable. It
+is free to use this variable it desires to store a result, which will then
+later be made available to the C<new_op> function.
 
 =head2 The Op Generation Stage
 
@@ -242,12 +241,12 @@
 If C<new_op> is defined then it will be used, and is expected to return an
 optree fragment that consumes the LHS and RHS arguments to implement the
 semantics of the operator. If the optional C<parse> stage had been present
-earlier, the C<ANY> pointer passed here will point to the same storage that
+earlier, the C<SV **> pointer passed here will point to the same storage that
 C<parse> had previously had access to, so it can retrieve the results.
 
 If C<new_op> is not present, then the C<ppaddr> will be used instead to
 construct a new BINOP of the C<OP_CUSTOM> type. If an earlier C<parse> stage
-had stored additional results into the C<ANY> variable these will be lost
+had stored additional results into the C<SV *> variable these will be lost
 here.
 
 =head2 The Wrapper Function
@@ -349,7 +348,7 @@
 will skip it because it would otherwise be identical.
 
 Note that when generating an optree for a wrapper function call, the C<new_op>
-hook function will be invoked with a C<NULL> pointer for the C<ANY>-typed
+hook function will be invoked with a C<NULL> pointer for the C<SV *>-typed
 parse data storage, as there won't be an opporunity for the C<parse> hook to
 run in this case.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/XS-Parse-Keyword-0.30/lib/XS/Parse/Keyword/Builder.pm 
new/XS-Parse-Keyword-0.31/lib/XS/Parse/Keyword/Builder.pm
--- old/XS-Parse-Keyword-0.30/lib/XS/Parse/Keyword/Builder.pm   2022-12-03 
15:51:44.000000000 +0100
+++ new/XS-Parse-Keyword-0.31/lib/XS/Parse/Keyword/Builder.pm   2022-12-25 
13:41:09.000000000 +0100
@@ -3,7 +3,7 @@
 #
 #  (C) Paul Evans, 2021 -- leon...@leonerd.org.uk
 
-package XS::Parse::Keyword::Builder 0.30;
+package XS::Parse::Keyword::Builder 0.31;
 
 use v5.14;
 use warnings;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/XS-Parse-Keyword-0.30/lib/XS/Parse/Keyword/Builder_data.pm.PL 
new/XS-Parse-Keyword-0.31/lib/XS/Parse/Keyword/Builder_data.pm.PL
--- old/XS-Parse-Keyword-0.30/lib/XS/Parse/Keyword/Builder_data.pm.PL   
2022-12-03 15:51:44.000000000 +0100
+++ new/XS-Parse-Keyword-0.31/lib/XS/Parse/Keyword/Builder_data.pm.PL   
2022-12-25 13:41:09.000000000 +0100
@@ -28,7 +28,7 @@
    <$in_h> } );
 
 __DATA__
-package XS::Parse::Keyword::Builder_data 0.30;
+package XS::Parse::Keyword::Builder_data 0.31;
 
 use v5.14;
 use warnings;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/XS-Parse-Keyword-0.30/lib/XS/Parse/Keyword.pm 
new/XS-Parse-Keyword-0.31/lib/XS/Parse/Keyword.pm
--- old/XS-Parse-Keyword-0.30/lib/XS/Parse/Keyword.pm   2022-12-03 
15:51:44.000000000 +0100
+++ new/XS-Parse-Keyword-0.31/lib/XS/Parse/Keyword.pm   2022-12-25 
13:41:09.000000000 +0100
@@ -3,7 +3,7 @@
 #
 #  (C) Paul Evans, 2021-2022 -- leon...@leonerd.org.uk
 
-package XS::Parse::Keyword 0.30;
+package XS::Parse::Keyword 0.31;
 
 use v5.14;
 use warnings;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/XS-Parse-Keyword-0.30/src/infix.c 
new/XS-Parse-Keyword-0.31/src/infix.c
--- old/XS-Parse-Keyword-0.30/src/infix.c       2022-12-03 15:51:44.000000000 
+0100
+++ new/XS-Parse-Keyword-0.31/src/infix.c       2022-12-25 13:41:09.000000000 
+0100
@@ -725,6 +725,30 @@
       prec = INFIX_PREC_REL;
       break;
 
+    case XPI_CLS_LOW_MISC:
+      prec = INFIX_PREC_LOW;
+      break;
+
+    case XPI_CLS_LOGICAL_OR_LOW_MISC:
+      prec = INFIX_PREC_LOGICAL_OR_LOW;
+      break;
+
+    case XPI_CLS_LOGICAL_AND_LOW_MISC:
+      prec = INFIX_PREC_LOGICAL_AND_LOW;
+      break;
+
+    case XPI_CLS_ASSIGN_MISC:
+      prec = INFIX_PREC_ASSIGN;
+      break;
+
+    case XPI_CLS_LOGICAL_OR_MISC:
+      prec = INFIX_PREC_LOGICAL_OR;
+      break;
+
+    case XPI_CLS_LOGICAL_AND_MISC:
+      prec = INFIX_PREC_LOGICAL_AND;
+      break;
+
     case XPI_CLS_ADD_MISC:
       prec = INFIX_PREC_ADD;
       break;
@@ -737,7 +761,9 @@
       prec = INFIX_PREC_POW;
       break;
 
-    /* TODO: Add classifications for the HIGH and LOW also? */
+    case XPI_CLS_HIGH_MISC:
+      prec = INFIX_PREC_HIGH;
+      break;
 
     default:
       croak("TODO: need to write code for hooks->cls == %d\n", hooks->cls);

Reply via email to