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

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

++++++ 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