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-08-10 15:33:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-XS-Parse-Keyword (Old)
and /work/SRC/openSUSE:Factory/.perl-XS-Parse-Keyword.new.11712 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-XS-Parse-Keyword"
Thu Aug 10 15:33:11 2023 rev:16 rq:1103215 version:0.370.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/perl-XS-Parse-Keyword/perl-XS-Parse-Keyword.changes
2023-07-30 20:57:32.115135371 +0200
+++
/work/SRC/openSUSE:Factory/.perl-XS-Parse-Keyword.new.11712/perl-XS-Parse-Keyword.changes
2023-08-10 15:33:26.491992040 +0200
@@ -1,0 +2,10 @@
+Wed Aug 9 03:08:06 UTC 2023 - Tina Müller <[email protected]>
+
+- updated to 0.37
+ see /usr/share/doc/packages/perl-XS-Parse-Keyword/Changes
+
+ 0.37 2023-08-08
+ [CHANGES]
+ * Added `XPK_WARNING()` and several conditional variants
+
+-------------------------------------------------------------------
Old:
----
XS-Parse-Keyword-0.36.tar.gz
New:
----
XS-Parse-Keyword-0.37.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-XS-Parse-Keyword.spec ++++++
--- /var/tmp/diff_new_pack.KzjrXt/_old 2023-08-10 15:33:27.419997827 +0200
+++ /var/tmp/diff_new_pack.KzjrXt/_new 2023-08-10 15:33:27.423997853 +0200
@@ -18,10 +18,9 @@
%define cpan_name XS-Parse-Keyword
Name: perl-XS-Parse-Keyword
-Version: 0.360.0
+Version: 0.370.0
Release: 0
-%define cpan_version 0.36
-Provides: perl(XS::Parse::Keyword) = 0.360.0
+%define cpan_version 0.37
License: Artistic-1.0 OR GPL-1.0-or-later
Summary: XS functions to assist in parsing keyword syntax
URL: https://metacpan.org/release/%{cpan_name}
@@ -32,11 +31,12 @@
BuildRequires: perl(ExtUtils::CBuilder)
BuildRequires: perl(ExtUtils::CChecker) >= 0.11
BuildRequires: perl(ExtUtils::ParseXS) >= 3.16
-BuildRequires: perl(Module::Build) >= 0.400400
+BuildRequires: perl(Module::Build) >= 0.4004
BuildRequires: perl(Test2::V0)
-Provides: perl(XS::Parse::Infix) = 0.360.0
-Provides: perl(XS::Parse::Infix::Builder) = 0.360.0
-Provides: perl(XS::Parse::Keyword::Builder) = 0.360.0
+Provides: perl(XS::Parse::Infix) = 0.370.0
+Provides: perl(XS::Parse::Infix::Builder) = 0.370.0
+Provides: perl(XS::Parse::Keyword) = 0.370.0
+Provides: perl(XS::Parse::Keyword::Builder) = 0.370.0
%define __perllib_provides /bin/true
%{perl_requires}
++++++ XS-Parse-Keyword-0.36.tar.gz -> XS-Parse-Keyword-0.37.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/XS-Parse-Keyword-0.36/Changes
new/XS-Parse-Keyword-0.37/Changes
--- old/XS-Parse-Keyword-0.36/Changes 2023-07-20 17:56:49.000000000 +0200
+++ new/XS-Parse-Keyword-0.37/Changes 2023-08-08 20:21:36.000000000 +0200
@@ -1,5 +1,9 @@
Revision history for XS-Parse-Keyword
+0.37 2023-08-08
+ [CHANGES]
+ * Added `XPK_WARNING()` and several conditional variants
+
0.36 2023-07-20
[BUGFIXES]
* Remember to also call `op_scope()` after `block_end()` if the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/XS-Parse-Keyword-0.36/MANIFEST
new/XS-Parse-Keyword-0.37/MANIFEST
--- old/XS-Parse-Keyword-0.36/MANIFEST 2023-07-20 17:56:49.000000000 +0200
+++ new/XS-Parse-Keyword-0.37/MANIFEST 2023-08-08 20:21:36.000000000 +0200
@@ -41,6 +41,7 @@
t/36pieces-attrs.t
t/37pieces-vstring.t
t/38pieces-infix.t
+t/39pieces-warning.t
t/40build.t
t/41structures.t
t/42containers.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/XS-Parse-Keyword-0.36/META.json
new/XS-Parse-Keyword-0.37/META.json
--- old/XS-Parse-Keyword-0.36/META.json 2023-07-20 17:56:49.000000000 +0200
+++ new/XS-Parse-Keyword-0.37/META.json 2023-08-08 20:21:36.000000000 +0200
@@ -4,7 +4,7 @@
"Paul Evans <[email protected]>"
],
"dynamic_config" : 1,
- "generated_by" : "Module::Build version 0.4231",
+ "generated_by" : "Module::Build version 0.4234",
"license" : [
"perl_5"
],
@@ -40,19 +40,19 @@
"provides" : {
"XS::Parse::Infix" : {
"file" : "lib/XS/Parse/Infix.pm",
- "version" : "0.36"
+ "version" : "0.37"
},
"XS::Parse::Infix::Builder" : {
"file" : "lib/XS/Parse/Infix/Builder.pm",
- "version" : "0.36"
+ "version" : "0.37"
},
"XS::Parse::Keyword" : {
"file" : "lib/XS/Parse/Keyword.pm",
- "version" : "0.36"
+ "version" : "0.37"
},
"XS::Parse::Keyword::Builder" : {
"file" : "lib/XS/Parse/Keyword/Builder.pm",
- "version" : "0.36"
+ "version" : "0.37"
}
},
"release_status" : "stable",
@@ -61,6 +61,6 @@
"http://dev.perl.org/licenses/"
]
},
- "version" : "0.36",
+ "version" : "0.37",
"x_serialization_backend" : "JSON::PP version 4.07"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/XS-Parse-Keyword-0.36/META.yml
new/XS-Parse-Keyword-0.37/META.yml
--- old/XS-Parse-Keyword-0.36/META.yml 2023-07-20 17:56:49.000000000 +0200
+++ new/XS-Parse-Keyword-0.37/META.yml 2023-08-08 20:21:36.000000000 +0200
@@ -10,7 +10,7 @@
ExtUtils::CChecker: '0.11'
Module::Build: '0.4004'
dynamic_config: 1
-generated_by: 'Module::Build version 0.4231, CPAN::Meta::Converter version
2.150010'
+generated_by: 'Module::Build version 0.4234, CPAN::Meta::Converter version
2.150010'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -19,19 +19,19 @@
provides:
XS::Parse::Infix:
file: lib/XS/Parse/Infix.pm
- version: '0.36'
+ version: '0.37'
XS::Parse::Infix::Builder:
file: lib/XS/Parse/Infix/Builder.pm
- version: '0.36'
+ version: '0.37'
XS::Parse::Keyword:
file: lib/XS/Parse/Keyword.pm
- version: '0.36'
+ version: '0.37'
XS::Parse::Keyword::Builder:
file: lib/XS/Parse/Keyword/Builder.pm
- version: '0.36'
+ version: '0.37'
requires:
perl: '5.014'
resources:
license: http://dev.perl.org/licenses/
-version: '0.36'
+version: '0.37'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/XS-Parse-Keyword-0.36/README
new/XS-Parse-Keyword-0.37/README
--- old/XS-Parse-Keyword-0.36/README 2023-07-20 17:56:49.000000000 +0200
+++ new/XS-Parse-Keyword-0.37/README 2023-08-08 20:21:36.000000000 +0200
@@ -550,6 +550,31 @@
consumed and no output value is generated. This is often useful after
XPK_LEXVAR_MY.
+ XPK_WARNING
+
+ atomic, emits nothing.
+
+ XPK_WARNING("message here")
+
+ Emits a warning by calling the core perl warn() function on the given
+ string literal. This is equivalent to simply calling warn() from the
+ build function, except that it is emitted immediately at parse time, so
+ line numbering will be more accurate. Also, by placing it as part of an
+ optional or choice sequence, the warning will only be emitted
+ conditionally if that part of the grammar structure is encountered.
+
+ XPK_WARNING_...
+
+ Several variants of XPK_WARNING exist that are conditional on
+ particular warning categories being enabled. These are ones that are
+ likely to be useful at parse time:
+
+ XPK_WARNING_AMBIGUOUS
+ XPK_WARNING_DEPRECATED
+ XPK_WARNING_EXPERIMENTAL
+ XPK_WARNING_PRECEDENCE
+ XPK_WARNING_SYNTAX
+
XPK_SEQUENCE
structural, might support probe, emits nothing.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/XS-Parse-Keyword-0.36/XSParseKeyword.h
new/XS-Parse-Keyword-0.37/XSParseKeyword.h
--- old/XS-Parse-Keyword-0.36/XSParseKeyword.h 2023-07-20 17:56:49.000000000
+0200
+++ new/XS-Parse-Keyword-0.37/XSParseKeyword.h 2023-08-08 20:21:36.000000000
+0200
@@ -30,7 +30,8 @@
XS_PARSE_KEYWORD_LITERALCHAR = 1, /* nothing */
XS_PARSE_KEYWORD_LITERALSTR, /* nothing */
XS_PARSE_KEYWORD_AUTOSEMI, /* nothing */
- XS_PARSE_KEYWORD_FAILURE = 0x0f, /* nothing */
+ XS_PARSE_KEYWORD_WARNING = 0x0e, /* nothing */
+ XS_PARSE_KEYWORD_FAILURE, /* nothing */
XS_PARSE_KEYWORD_BLOCK = 0x10, /* op */
XS_PARSE_KEYWORD_ANONSUB, /* cv */
@@ -184,6 +185,14 @@
{.type = XS_PARSE_KEYWORD_SEPARATEDLIST, .u.pieces = (const struct
XSParseKeywordPieceType []){ \
{.type = XS_PARSE_KEYWORD_LITERALCHAR, .u.c = ','}, __VA_ARGS__, {0}}}
+#define XPK_WARNING_bit(bit,s) {.type = (XS_PARSE_KEYWORD_WARNING|(bit <<
24)), .u.str = (const char *)s}
+#define XPK_WARNING(s) XPK_WARNING_bit(0,s)
+#define XPK_WARNING_AMBIGUOUS(s) XPK_WARNING_bit(WARN_AMBIGUOUS, s)
+#define XPK_WARNING_DEPRECATED(s) XPK_WARNING_bit(WARN_DEPRECATED, s)
+#define XPK_WARNING_EXPERIMENTAL(s) XPK_WARNING_bit(WARN_EXPERIMENTAL,s)
+#define XPK_WARNING_PRECEDENCE(s) XPK_WARNING_bit(WARN_PRECEDENCE, s)
+#define XPK_WARNING_SYNTAX(s) XPK_WARNING_bit(WARN_SYNTAX, s)
+
#define XPK_FAILURE(s) {.type = XS_PARSE_KEYWORD_FAILURE, .u.str = (const char
*)s}
#define XPK_PARENS_pieces(p) {.type = XS_PARSE_KEYWORD_PARENS, .u.pieces = p}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/XS-Parse-Keyword-0.36/lib/XS/Parse/Infix/Builder.pm
new/XS-Parse-Keyword-0.37/lib/XS/Parse/Infix/Builder.pm
--- old/XS-Parse-Keyword-0.36/lib/XS/Parse/Infix/Builder.pm 2023-07-20
17:56:49.000000000 +0200
+++ new/XS-Parse-Keyword-0.37/lib/XS/Parse/Infix/Builder.pm 2023-08-08
20:21:36.000000000 +0200
@@ -3,7 +3,7 @@
#
# (C) Paul Evans, 2021 -- [email protected]
-package XS::Parse::Infix::Builder 0.36;
+package XS::Parse::Infix::Builder 0.37;
use v5.14;
use warnings;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/XS-Parse-Keyword-0.36/lib/XS/Parse/Infix/Builder_data.pm.PL
new/XS-Parse-Keyword-0.37/lib/XS/Parse/Infix/Builder_data.pm.PL
--- old/XS-Parse-Keyword-0.36/lib/XS/Parse/Infix/Builder_data.pm.PL
2023-07-20 17:56:49.000000000 +0200
+++ new/XS-Parse-Keyword-0.37/lib/XS/Parse/Infix/Builder_data.pm.PL
2023-08-08 20:21:36.000000000 +0200
@@ -28,7 +28,7 @@
<$in_h> } );
__DATA__
-package XS::Parse::Infix::Builder_data 0.36;
+package XS::Parse::Infix::Builder_data 0.37;
use v5.14;
use warnings;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/XS-Parse-Keyword-0.36/lib/XS/Parse/Infix.pm
new/XS-Parse-Keyword-0.37/lib/XS/Parse/Infix.pm
--- old/XS-Parse-Keyword-0.36/lib/XS/Parse/Infix.pm 2023-07-20
17:56:49.000000000 +0200
+++ new/XS-Parse-Keyword-0.37/lib/XS/Parse/Infix.pm 2023-08-08
20:21:36.000000000 +0200
@@ -3,7 +3,7 @@
#
# (C) Paul Evans, 2021-2023 -- [email protected]
-package XS::Parse::Infix 0.36;
+package XS::Parse::Infix 0.37;
use v5.14;
use warnings;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/XS-Parse-Keyword-0.36/lib/XS/Parse/Keyword/Builder.pm
new/XS-Parse-Keyword-0.37/lib/XS/Parse/Keyword/Builder.pm
--- old/XS-Parse-Keyword-0.36/lib/XS/Parse/Keyword/Builder.pm 2023-07-20
17:56:49.000000000 +0200
+++ new/XS-Parse-Keyword-0.37/lib/XS/Parse/Keyword/Builder.pm 2023-08-08
20:21:36.000000000 +0200
@@ -3,7 +3,7 @@
#
# (C) Paul Evans, 2021 -- [email protected]
-package XS::Parse::Keyword::Builder 0.36;
+package XS::Parse::Keyword::Builder 0.37;
use v5.14;
use warnings;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/XS-Parse-Keyword-0.36/lib/XS/Parse/Keyword/Builder_data.pm.PL
new/XS-Parse-Keyword-0.37/lib/XS/Parse/Keyword/Builder_data.pm.PL
--- old/XS-Parse-Keyword-0.36/lib/XS/Parse/Keyword/Builder_data.pm.PL
2023-07-20 17:56:49.000000000 +0200
+++ new/XS-Parse-Keyword-0.37/lib/XS/Parse/Keyword/Builder_data.pm.PL
2023-08-08 20:21:36.000000000 +0200
@@ -28,7 +28,7 @@
<$in_h> } );
__DATA__
-package XS::Parse::Keyword::Builder_data 0.36;
+package XS::Parse::Keyword::Builder_data 0.37;
use v5.14;
use warnings;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/XS-Parse-Keyword-0.36/lib/XS/Parse/Keyword.pm
new/XS-Parse-Keyword-0.37/lib/XS/Parse/Keyword.pm
--- old/XS-Parse-Keyword-0.36/lib/XS/Parse/Keyword.pm 2023-07-20
17:56:49.000000000 +0200
+++ new/XS-Parse-Keyword-0.37/lib/XS/Parse/Keyword.pm 2023-08-08
20:21:36.000000000 +0200
@@ -3,7 +3,7 @@
#
# (C) Paul Evans, 2021-2022 -- [email protected]
-package XS::Parse::Keyword 0.36;
+package XS::Parse::Keyword 0.37;
use v5.14;
use warnings;
@@ -563,6 +563,31 @@
Calls the core perl C<intro_my()> function immediately. No input is consumed
and no output value is generated. This is often useful after C<XPK_LEXVAR_MY>.
+=head2 XPK_WARNING
+
+I<atomic, emits nothing.>
+
+ XPK_WARNING("message here")
+
+Emits a warning by calling the core perl C<warn()> function on the given
+string literal. This is equivalent to simply calling C<warn()> from the build
+function, except that it is emitted immediately at parse time, so line
+numbering will be more accurate. Also, by placing it as part of an optional or
+choice sequence, the warning will only be emitted conditionally if that part
+of the grammar structure is encountered.
+
+=head2 XPK_WARNING_...
+
+Several variants of C<XPK_WARNING> exist that are conditional on particular
+warning categories being enabled. These are ones that are likely to be useful
+at parse time:
+
+ XPK_WARNING_AMBIGUOUS
+ XPK_WARNING_DEPRECATED
+ XPK_WARNING_EXPERIMENTAL
+ XPK_WARNING_PRECEDENCE
+ XPK_WARNING_SYNTAX
+
=head2 XPK_SEQUENCE
I<structural, might support probe, emits nothing.>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/XS-Parse-Keyword-0.36/src/keyword.c
new/XS-Parse-Keyword-0.37/src/keyword.c
--- old/XS-Parse-Keyword-0.36/src/keyword.c 2023-07-20 17:56:49.000000000
+0200
+++ new/XS-Parse-Keyword-0.37/src/keyword.c 2023-08-08 20:21:36.000000000
+0200
@@ -414,6 +414,15 @@
parse_autosemi();
return;
+ case XS_PARSE_KEYWORD_WARNING:
+ {
+ int warnbit = piece->type >> 24;
+ if(warnbit && !ckWARN(warnbit))
+ return;
+ warn(piece->u.str);
+ return;
+ }
+
case XS_PARSE_KEYWORD_FAILURE:
yycroak(piece->u.str);
NOT_REACHED;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/XS-Parse-Keyword-0.36/t/39pieces-warning.t
new/XS-Parse-Keyword-0.37/t/39pieces-warning.t
--- old/XS-Parse-Keyword-0.36/t/39pieces-warning.t 1970-01-01
01:00:00.000000000 +0100
+++ new/XS-Parse-Keyword-0.37/t/39pieces-warning.t 2023-08-08
20:21:36.000000000 +0200
@@ -0,0 +1,36 @@
+#!/usr/bin/perl
+
+use v5.14;
+use warnings;
+
+use Test2::V0;
+
+use lib "t";
+use testcase "t::pieces";
+
+BEGIN { $^H{"t::pieces/permit"} = 1; }
+
+my @warnings;
+BEGIN { $SIG{__WARN__} = sub { push @warnings, $_[0] }; }
+
+{
+ BEGIN { undef @warnings; }
+ piecewarning;
+
+ BEGIN { is( \@warnings, [ "A warning here\n" ], 'piecewarning emits
warning' ) };
+}
+
+{
+ BEGIN { undef @warnings; }
+ piecewarndep;
+
+ BEGIN { is( \@warnings, [ "A deprecated warning here\n" ], 'piecewarndep
emits warning' ) };
+
+ BEGIN { undef @warnings; }
+ no warnings 'deprecated';
+ piecewarndep;
+
+ BEGIN { is( \@warnings, [], 'piecewarndep warning is conditional' ) };
+}
+
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/XS-Parse-Keyword-0.36/t/pieces.xs
new/XS-Parse-Keyword-0.37/t/pieces.xs
--- old/XS-Parse-Keyword-0.36/t/pieces.xs 2023-07-20 17:56:49.000000000
+0200
+++ new/XS-Parse-Keyword-0.37/t/pieces.xs 2023-08-08 20:21:36.000000000
+0200
@@ -388,6 +388,20 @@
.build1 = &build_literal,
};
+static const struct XSParseKeywordHooks hooks_warning = {
+ .permit_hintkey = hintkey,
+
+ .piece1 = XPK_WARNING("A warning here\n"),
+ .build1 = &build_literal,
+};
+
+static const struct XSParseKeywordHooks hooks_warning_deprecated = {
+ .permit_hintkey = hintkey,
+
+ .piece1 = XPK_WARNING_DEPRECATED("A deprecated warning here\n"),
+ .build1 = &build_literal,
+};
+
MODULE = t::pieces PACKAGE = t::pieces
BOOT:
@@ -433,3 +447,6 @@
register_xs_parse_keyword("piecekw", &hooks_kw, newSVpvs("bar"));
register_xs_parse_keyword("pieceautosemi", &hooks_autosemi, newSVpvs("EOS"));
+
+ register_xs_parse_keyword("piecewarning", &hooks_warning, &PL_sv_undef);
+ register_xs_parse_keyword("piecewarndep", &hooks_warning_deprecated,
&PL_sv_undef);