Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package perl-XS-Parse-Sublike for 
openSUSE:Factory checked in at 2025-10-10 17:11:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-XS-Parse-Sublike (Old)
 and      /work/SRC/openSUSE:Factory/.perl-XS-Parse-Sublike.new.5300 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-XS-Parse-Sublike"

Fri Oct 10 17:11:37 2025 rev:3 rq:1310531 version:0.390.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/perl-XS-Parse-Sublike/perl-XS-Parse-Sublike.changes  
    2025-02-11 21:26:47.335615276 +0100
+++ 
/work/SRC/openSUSE:Factory/.perl-XS-Parse-Sublike.new.5300/perl-XS-Parse-Sublike.changes
    2025-10-10 17:13:16.387150709 +0200
@@ -1,0 +2,16 @@
+Thu Oct  9 20:54:05 UTC 2025 - Tina Müller <[email protected]>
+
+- updated to 0.390.0 (0.39)
+   see /usr/share/doc/packages/perl-XS-Parse-Sublike/Changes
+
+  0.39    2025-09-12
+          [BUGFIXES]
+           * Make sure to set `B::Deparse`'s ->ambient_pragmas when running
+             deparse tests (https://github.com/Perl/perl5/issues/23674)
+
+  0.38    2025-08-08
+          [BUGFIXES]
+           * Improvements to handling of anonymous parameters or missing
+             defaulting expressions in subroutine signature parsing (RT168812)
+
+-------------------------------------------------------------------

Old:
----
  XS-Parse-Sublike-0.37.tar.gz

New:
----
  README.md
  XS-Parse-Sublike-0.39.tar.gz
  _scmsync.obsinfo
  build.specials.obscpio

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

Other differences:
------------------
++++++ perl-XS-Parse-Sublike.spec ++++++
--- /var/tmp/diff_new_pack.oqjUA4/_old  2025-10-10 17:13:16.883171577 +0200
+++ /var/tmp/diff_new_pack.oqjUA4/_new  2025-10-10 17:13:16.887171745 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package perl-XS-Parse-Sublike
 #
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2025 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,22 +18,23 @@
 
 %define cpan_name XS-Parse-Sublike
 Name:           perl-XS-Parse-Sublike
-Version:        0.370.0
+Version:        0.390.0
 Release:        0
-# 0.37 -> normalize -> 0.370.0
-%define cpan_version 0.37
+# 0.39 -> normalize -> 0.390.0
+%define cpan_version 0.39
 License:        Artistic-1.0 OR GPL-1.0-or-later
 Summary:        XS functions to assist in parsing sub-like syntax
 URL:            https://metacpan.org/release/%{cpan_name}
 Source0:        
https://cpan.metacpan.org/authors/id/P/PE/PEVANS/%{cpan_name}-%{cpan_version}.tar.gz
+Source100:      README.md
 BuildRequires:  perl
 BuildRequires:  perl-macros
 BuildRequires:  perl(ExtUtils::CBuilder)
-BuildRequires:  perl(File::ShareDir) >= 1.0.0
-BuildRequires:  perl(Module::Build) >= 0.4004
+BuildRequires:  perl(File::ShareDir) >= 1.0
+BuildRequires:  perl(Module::Build) >= 0.400.400
 BuildRequires:  perl(Sub::Util)
 BuildRequires:  perl(Test2::V0)
-Requires:       perl(File::ShareDir) >= 1.0.0
+Requires:       perl(File::ShareDir) >= 1.0
 Provides:       perl(Sublike::Extended) = %{version}
 Provides:       perl(XS::Parse::Sublike) = %{version}
 Provides:       perl(XS::Parse::Sublike::Builder) = %{version}

++++++ README.md ++++++

## Build Results

Current state of perl in openSUSE:Factory is

![Factory build 
results](https://br.opensuse.org/status/openSUSE:Factory/perl-XS-Parse-Sublike/standard)

The current state of perl in the devel project build (devel:languages:perl)

![Devel project build 
results](https://br.opensuse.org/status/devel:languages:perl/perl-XS-Parse-Sublike)



++++++ XS-Parse-Sublike-0.37.tar.gz -> XS-Parse-Sublike-0.39.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/XS-Parse-Sublike-0.37/Changes 
new/XS-Parse-Sublike-0.39/Changes
--- old/XS-Parse-Sublike-0.37/Changes   2025-02-07 16:43:32.000000000 +0100
+++ new/XS-Parse-Sublike-0.39/Changes   2025-09-12 20:50:20.000000000 +0200
@@ -1,5 +1,15 @@
 Revision history for XS-Parse-Sublike
 
+0.39    2025-09-12
+        [BUGFIXES]
+         * Make sure to set `B::Deparse`'s ->ambient_pragmas when running
+           deparse tests (https://github.com/Perl/perl5/issues/23674)
+
+0.38    2025-08-08
+        [BUGFIXES]
+         * Improvements to handling of anonymous parameters or missing
+           defaulting expressions in subroutine signature parsing (RT168812)
+
 0.37    2025-02-07
         [CHANGES]
          * Added `xps_signature_query_*()` API
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/XS-Parse-Sublike-0.37/META.json 
new/XS-Parse-Sublike-0.39/META.json
--- old/XS-Parse-Sublike-0.37/META.json 2025-02-07 16:43:32.000000000 +0100
+++ new/XS-Parse-Sublike-0.39/META.json 2025-09-12 20:50:20.000000000 +0200
@@ -40,15 +40,15 @@
    "provides" : {
       "Sublike::Extended" : {
          "file" : "lib/Sublike/Extended.pm",
-         "version" : "0.37"
+         "version" : "0.39"
       },
       "XS::Parse::Sublike" : {
          "file" : "lib/XS/Parse/Sublike.pm",
-         "version" : "0.37"
+         "version" : "0.39"
       },
       "XS::Parse::Sublike::Builder" : {
          "file" : "lib/XS/Parse/Sublike/Builder.pm",
-         "version" : "0.37"
+         "version" : "0.39"
       }
    },
    "release_status" : "stable",
@@ -57,6 +57,6 @@
          "http://dev.perl.org/licenses/";
       ]
    },
-   "version" : "0.37",
+   "version" : "0.39",
    "x_serialization_backend" : "JSON::PP version 4.16"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/XS-Parse-Sublike-0.37/META.yml 
new/XS-Parse-Sublike-0.39/META.yml
--- old/XS-Parse-Sublike-0.37/META.yml  2025-02-07 16:43:32.000000000 +0100
+++ new/XS-Parse-Sublike-0.39/META.yml  2025-09-12 20:50:20.000000000 +0200
@@ -18,17 +18,17 @@
 provides:
   Sublike::Extended:
     file: lib/Sublike/Extended.pm
-    version: '0.37'
+    version: '0.39'
   XS::Parse::Sublike:
     file: lib/XS/Parse/Sublike.pm
-    version: '0.37'
+    version: '0.39'
   XS::Parse::Sublike::Builder:
     file: lib/XS/Parse/Sublike/Builder.pm
-    version: '0.37'
+    version: '0.39'
 requires:
   File::ShareDir: '1.00'
   perl: '5.016'
 resources:
   license: http://dev.perl.org/licenses/
-version: '0.37'
+version: '0.39'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/XS-Parse-Sublike-0.37/lib/Sublike/Extended.pm 
new/XS-Parse-Sublike-0.39/lib/Sublike/Extended.pm
--- old/XS-Parse-Sublike-0.37/lib/Sublike/Extended.pm   2025-02-07 
16:43:32.000000000 +0100
+++ new/XS-Parse-Sublike-0.39/lib/Sublike/Extended.pm   2025-09-12 
20:50:20.000000000 +0200
@@ -3,7 +3,7 @@
 #
 #  (C) Paul Evans, 2023-2024 -- [email protected]
 
-package Sublike::Extended 0.37;
+package Sublike::Extended 0.39;
 
 use v5.14;
 use warnings;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/XS-Parse-Sublike-0.37/lib/XS/Parse/Sublike/Builder.pm 
new/XS-Parse-Sublike-0.39/lib/XS/Parse/Sublike/Builder.pm
--- old/XS-Parse-Sublike-0.37/lib/XS/Parse/Sublike/Builder.pm   2025-02-07 
16:43:32.000000000 +0100
+++ new/XS-Parse-Sublike-0.39/lib/XS/Parse/Sublike/Builder.pm   2025-09-12 
20:50:20.000000000 +0200
@@ -3,7 +3,7 @@
 #
 #  (C) Paul Evans, 2020-2024 -- [email protected]
 
-package XS::Parse::Sublike::Builder 0.37;
+package XS::Parse::Sublike::Builder 0.39;
 
 use v5.14;
 use warnings;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/XS-Parse-Sublike-0.37/lib/XS/Parse/Sublike.pm 
new/XS-Parse-Sublike-0.39/lib/XS/Parse/Sublike.pm
--- old/XS-Parse-Sublike-0.37/lib/XS/Parse/Sublike.pm   2025-02-07 
16:43:32.000000000 +0100
+++ new/XS-Parse-Sublike-0.39/lib/XS/Parse/Sublike.pm   2025-09-12 
20:50:20.000000000 +0200
@@ -3,7 +3,7 @@
 #
 #  (C) Paul Evans, 2020-2024 -- [email protected]
 
-package XS::Parse::Sublike 0.37;
+package XS::Parse::Sublike 0.39;
 
 use v5.14;
 use warnings;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/XS-Parse-Sublike-0.37/src/parse_subsignature_ex.c 
new/XS-Parse-Sublike-0.39/src/parse_subsignature_ex.c
--- old/XS-Parse-Sublike-0.37/src/parse_subsignature_ex.c       2025-02-07 
16:43:32.000000000 +0100
+++ new/XS-Parse-Sublike-0.39/src/parse_subsignature_ex.c       2025-09-12 
20:50:20.000000000 +0200
@@ -677,10 +677,10 @@
     }
 
     LEAVE;
-
-    lex_read_space(0);
   }
 
+  lex_read_space(0);
+
   if(lex_peek_unichar(0) == ':') {
     if(!permit_attributes)
       croak("Attributes on signature parameters are not permitted");
@@ -732,7 +732,14 @@
     if(lex_consume("=") ||
         (default_if_undef = lex_consume("//=")) ||
         (default_if_false = lex_consume("||="))) {
-      OP *defexpr = parse_termexpr(0);
+      OP *defexpr = parse_termexpr(PARSE_OPTIONAL);
+      if(PL_parser->error_count)
+        croak("Expected a defaulting expression for optional parameter");
+      if(!paramctx.is_named && !paramctx.varop) {
+        /* We permit `= undef` and the blank `=` but nothing else */
+        if(defexpr && defexpr->op_type != OP_UNDEF)
+          croak("Unnamed positional parameters cannot have defaulting 
expressions");
+      }
 
       if(paramctx.is_named) {
         OP *assignop = newUNOP(OP_CUSTOM, 0, defexpr);
@@ -757,7 +764,7 @@
         paramctx.op    = defop;
         paramctx.defop = defop;
       }
-      else {
+      else if(paramctx.varop) {
         U8 private = 0;
 #ifdef OPpARG_IF_UNDEF
         if(default_if_undef) private |= OPpARG_IF_UNDEF;
@@ -770,6 +777,9 @@
           yyerror("This Perl version cannot handle if_undef/if_false 
defaulting expressions on positional parameters");
 #endif
 
+        if(!defexpr)
+          defexpr = newOP(OP_UNDEF, OPf_WANT_SCALAR);
+
         OP *defop = (OP *)alloc_LOGOP(OP_ARGDEFELEM, defexpr, 
LINKLIST(defexpr));
         defop->op_targ = (PADOFFSET)sigctx->n_elems;
         defop->op_private = private;
@@ -786,6 +796,7 @@
         paramctx.op    = paramctx.varop;
         paramctx.defop = defop;
       }
+      /* else this is `= undef` on anonymous param; nothing to do */
     }
     else {
       if(sigctx->n_optelems)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/XS-Parse-Sublike-0.37/t/03func-deparse.t 
new/XS-Parse-Sublike-0.39/t/03func-deparse.t
--- old/XS-Parse-Sublike-0.37/t/03func-deparse.t        2025-02-07 
16:43:32.000000000 +0100
+++ new/XS-Parse-Sublike-0.39/t/03func-deparse.t        2025-09-12 
20:50:20.000000000 +0200
@@ -20,6 +20,15 @@
 
 my $deparser = B::Deparse->new();
 
+# The standard boilerplate that we have to go through
+my ( $hint_bits, $warning_bits, $hinthash );
+BEGIN { ( $hint_bits, $warning_bits, $hinthash ) = ( $^H, ${^WARNING_BITS}, 
\%^H ); }
+$deparser->ambient_pragmas(
+   hint_bits    => $hint_bits,
+   warning_bits => $warning_bits,
+   '%^H'        => $hinthash,
+);
+
 # check that signatured functions deparse the right way
 #   (RT132335)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/XS-Parse-Sublike-0.37/t/05func-sig-attributes.t 
new/XS-Parse-Sublike-0.39/t/05func-sig-attributes.t
--- old/XS-Parse-Sublike-0.37/t/05func-sig-attributes.t 2025-02-07 
16:43:32.000000000 +0100
+++ new/XS-Parse-Sublike-0.39/t/05func-sig-attributes.t 2025-09-12 
20:50:20.000000000 +0200
@@ -76,4 +76,33 @@
       ':Attribute modified optree got invoked for named' );
 }
 
+# RT168812
+# In this file purely to ensure we use our version of parse_subsignature()
+{
+   is(
+      eval( 'afunc f01( $ = undef ) { }; 1' ) ? undef : $@,
+      undef,
+      'Function with anonymous parameter default expression as undef is 
permitted' );
+
+   like(
+      eval( 'afunc f02( $ = 123 ) { }' ) ? undef : $@,
+      qr/^Unnamed positional parameters cannot have defaulting expressions /,
+      'Function with anonymous parameter defaulting expression fails to parse' 
);
+
+   is(
+      eval( 'afunc f03( $x = ) { }; 1' ) ? undef : $@,
+      undef,
+      'Function with missing parameter default expression implies undef' );
+
+   is(
+      eval( 'afunc f04( $ = ) { }; 1' ) ? undef : $@,
+      undef,
+      'Function with missing unnamed parameter default expression implies 
undef' );
+
+   is(
+      eval( 'afunc f05( $= ) { }; 1' ) ? undef : $@,
+      undef,
+      'Function with missing unnamed parameter default expression implies 
undef' );
+}
+
 done_testing;

++++++ _scmsync.obsinfo ++++++
mtime: 1760043245
commit: c3d8045827b6ec0a513a999cb24c65e6295a9c289db0242f65618b5c5ae5f689
url: https://src.opensuse.org/perl/perl-XS-Parse-Sublike.git
revision: c3d8045827b6ec0a513a999cb24c65e6295a9c289db0242f65618b5c5ae5f689
projectscmsync: https://src.opensuse.org/perl/_ObsPrj

++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore      2025-10-10 11:23:47.000000000 +0200
@@ -0,0 +1 @@
+.osc

Reply via email to