Hello community,

here is the log from the commit of package perl-Syntax-Keyword-Try for 
openSUSE:Factory checked in at 2020-07-29 17:22:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Syntax-Keyword-Try (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Syntax-Keyword-Try.new.3592 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Syntax-Keyword-Try"

Wed Jul 29 17:22:19 2020 rev:6 rq:823410 version:0.16

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/perl-Syntax-Keyword-Try/perl-Syntax-Keyword-Try.changes
  2020-07-27 17:40:27.715003293 +0200
+++ 
/work/SRC/openSUSE:Factory/.perl-Syntax-Keyword-Try.new.3592/perl-Syntax-Keyword-Try.changes
        2020-07-29 17:23:49.284731858 +0200
@@ -1,0 +2,15 @@
+Wed Jul 29 03:12:34 UTC 2020 - Tina Müller <timueller+p...@suse.de>
+
+- updated to 0.16
+   see /usr/share/doc/packages/perl-Syntax-Keyword-Try/Changes
+
+  0.16    2020-07-23
+          [CHANGES]
+           * Provide the `:experimental` import tag as a nicer way to silence
+             experimental warnings
+
+          [BUGFIXES]
+           * Don't name a variable `class` because it upsets some C compilers
+             (RT133043)
+
+-------------------------------------------------------------------

Old:
----
  Syntax-Keyword-Try-0.15.tar.gz

New:
----
  Syntax-Keyword-Try-0.16.tar.gz

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

Other differences:
------------------
++++++ perl-Syntax-Keyword-Try.spec ++++++
--- /var/tmp/diff_new_pack.MWRmgX/_old  2020-07-29 17:23:49.864732357 +0200
+++ /var/tmp/diff_new_pack.MWRmgX/_new  2020-07-29 17:23:49.868732360 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           perl-Syntax-Keyword-Try
-Version:        0.15
+Version:        0.16
 Release:        0
 %define cpan_name Syntax-Keyword-Try
 Summary:        C<try/catch/finally> syntax for perl

++++++ Syntax-Keyword-Try-0.15.tar.gz -> Syntax-Keyword-Try-0.16.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Syntax-Keyword-Try-0.15/Changes 
new/Syntax-Keyword-Try-0.16/Changes
--- old/Syntax-Keyword-Try-0.15/Changes 2020-07-21 01:06:22.000000000 +0200
+++ new/Syntax-Keyword-Try-0.16/Changes 2020-07-24 00:57:11.000000000 +0200
@@ -1,9 +1,20 @@
 Revision history for Syntax-Keyword-Try
 
+0.16    2020-07-23
+        [CHANGES]
+         * Provide the `:experimental` import tag as a nicer way to silence
+           experimental warnings
+
+        [BUGFIXES]
+         * Don't name a variable `class` because it upsets some C compilers
+           (RT133043)
+
 0.15    2020-07-21
+        [CHANGES]
          * Experimental typed `catch (VAR ...)` conditions
 
 0.14    2020-07-07
+        [CHANGES]
          * Optional experimental syntax of `catch (VAR)` instead of previous
            experimental `catch my VAR`
          * Mark `catch my VAR` as deprecated
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Syntax-Keyword-Try-0.15/META.json 
new/Syntax-Keyword-Try-0.16/META.json
--- old/Syntax-Keyword-Try-0.15/META.json       2020-07-21 01:06:22.000000000 
+0200
+++ new/Syntax-Keyword-Try-0.16/META.json       2020-07-24 00:57:11.000000000 
+0200
@@ -38,7 +38,7 @@
    "provides" : {
       "Syntax::Keyword::Try" : {
          "file" : "lib/Syntax/Keyword/Try.pm",
-         "version" : "0.15"
+         "version" : "0.16"
       }
    },
    "release_status" : "stable",
@@ -48,6 +48,6 @@
       ],
       "x_IRC" : "irc://irc.perl.org/#io-async"
    },
-   "version" : "0.15",
+   "version" : "0.16",
    "x_serialization_backend" : "JSON::PP version 4.04"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Syntax-Keyword-Try-0.15/META.yml 
new/Syntax-Keyword-Try-0.16/META.yml
--- old/Syntax-Keyword-Try-0.15/META.yml        2020-07-21 01:06:22.000000000 
+0200
+++ new/Syntax-Keyword-Try-0.16/META.yml        2020-07-24 00:57:11.000000000 
+0200
@@ -17,11 +17,11 @@
 provides:
   Syntax::Keyword::Try:
     file: lib/Syntax/Keyword/Try.pm
-    version: '0.15'
+    version: '0.16'
 requires:
   perl: '5.014'
 resources:
   IRC: irc://irc.perl.org/#io-async
   license: http://dev.perl.org/licenses/
-version: '0.15'
+version: '0.16'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Syntax-Keyword-Try-0.15/README 
new/Syntax-Keyword-Try-0.16/README
--- old/Syntax-Keyword-Try-0.15/README  2020-07-21 01:06:22.000000000 +0200
+++ new/Syntax-Keyword-Try-0.16/README  2020-07-24 00:57:11.000000000 +0200
@@ -4,19 +4,34 @@
 
 SYNOPSIS
 
-     use Syntax::Keyword::Try;
+       use Syntax::Keyword::Try;
     
-     sub foo
-     {
-        try {
-           attempt_a_thing();
-           return "success";
-        }
-        catch {
-           warn "It failed - $@";
-           return "failure";
-        }
-     }
+       sub foo
+       {
+          try {
+             attempt_a_thing();
+             return "success";
+          }
+          catch {
+             warn "It failed - $@";
+             return "failure";
+          }
+       }
+
+    Or, to use the experimental syntax:
+
+       use Syntax::Keyword::Try qw( try :experimental )
+    
+       sub foo {
+          try {
+             attempt_a_thing();
+             return "success";
+          }
+          catch ($e) {
+             warn "It failed - $e";
+             return "failure";
+          }
+       }
 
 DESCRIPTION
 
@@ -30,6 +45,27 @@
     implement parser plugins and manipulate optrees to provide new syntax
     and behaviours for perl code.
 
+Experimental Features
+
+    Some of the features of this module are currently marked as
+    experimental. They will provoke warnings in the experimental category,
+    unless silenced.
+
+    You can silence this with no warnings 'experimental' but then that will
+    silence every experimental warning, which may hide others
+    unintentionally. For a more fine-grained approach you can instead use
+    the import line for this module to only silence this module's warnings
+    selectively:
+
+       use Syntax::Keyword::Try qw( try :experimental(var) );
+    
+       use Syntax::Keyword::Try qw( try :experimental(typed) );
+    
+       use Syntax::Keyword::Try qw( try :experimental );  # all of the above
+
+    Don't forget to import the main try symbol itself, to activate the
+    syntax.
+
 KEYWORDS
 
  try
@@ -93,7 +129,8 @@
     can be introduced to store the exception in. This new form is
     experimental and is likely to be expanded on in a future version, as
     part of the wider attempt to introduce typed dispatch. Using it will
-    provoke an experimental category warning on supporting perl versions.
+    provoke an experimental category warning on supporting perl versions,
+    unless silenced by importing the :experimental(var) tag (see above).
 
     Presence of this catch statement causes any exception thrown by the
     preceding try block to be non-fatal to the surrounding code. If the
@@ -122,7 +159,11 @@
 
     Optionally, multiple catch statements can be provided, where each block
     is given a guarding condition, to control whether or not it will catch
-    particular exception values. Two kinds of condition are supported:
+    particular exception values. Use of this syntax will provoke an
+    experimental category warning on supporting perl versions, unless
+    silenced by importing the :experimental(typed) tag (see above).
+
+    Two kinds of condition are supported:
 
       * 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Syntax-Keyword-Try-0.15/lib/Syntax/Keyword/Try.pm 
new/Syntax-Keyword-Try-0.16/lib/Syntax/Keyword/Try.pm
--- old/Syntax-Keyword-Try-0.15/lib/Syntax/Keyword/Try.pm       2020-07-21 
01:06:22.000000000 +0200
+++ new/Syntax-Keyword-Try-0.16/lib/Syntax/Keyword/Try.pm       2020-07-24 
00:57:11.000000000 +0200
@@ -3,7 +3,7 @@
 #
 #  (C) Paul Evans, 2016-2019 -- leon...@leonerd.org.uk
 
-package Syntax::Keyword::Try 0.15;
+package Syntax::Keyword::Try 0.16;
 
 use v5.14;
 use warnings;
@@ -19,19 +19,34 @@
 
 =head1 SYNOPSIS
 
- use Syntax::Keyword::Try;
+   use Syntax::Keyword::Try;
 
- sub foo
- {
-    try {
-       attempt_a_thing();
-       return "success";
-    }
-    catch {
-       warn "It failed - $@";
-       return "failure";
-    }
- }
+   sub foo
+   {
+      try {
+         attempt_a_thing();
+         return "success";
+      }
+      catch {
+         warn "It failed - $@";
+         return "failure";
+      }
+   }
+
+Or, to use the experimental syntax:
+
+   use Syntax::Keyword::Try qw( try :experimental )
+
+   sub foo {
+      try {
+         attempt_a_thing();
+         return "success";
+      }
+      catch ($e) {
+         warn "It failed - $e";
+         return "failure";
+      }
+   }
 
 =head1 DESCRIPTION
 
@@ -45,6 +60,24 @@
 plugins and manipulate optrees to provide new syntax and behaviours for perl
 code.
 
+=head1 Experimental Features
+
+Some of the features of this module are currently marked as experimental. They
+will provoke warnings in the C<experimental> category, unless silenced.
+
+You can silence this with C<no warnings 'experimental'> but then that will
+silence every experimental warning, which may hide others unintentionally. For
+a more fine-grained approach you can instead use the import line for this
+module to only silence this module's warnings selectively:
+
+   use Syntax::Keyword::Try qw( try :experimental(var) );
+
+   use Syntax::Keyword::Try qw( try :experimental(typed) );
+
+   use Syntax::Keyword::Try qw( try :experimental );  # all of the above
+
+Don't forget to import the main C<try> symbol itself, to activate the syntax.
+
 =cut
 
 =head1 KEYWORDS
@@ -109,7 +142,8 @@
 introduced to store the exception in. This new form is experimental and is
 likely to be expanded on in a future version, as part of the wider attempt to
 introduce typed dispatch. Using it will provoke an C<experimental> category
-warning on supporting perl versions.
+warning on supporting perl versions, unless silenced by importing the
+C<:experimental(var)> tag (see above).
 
 Presence of this C<catch> statement causes any exception thrown by the
 preceding C<try> block to be non-fatal to the surrounding code. If the
@@ -137,7 +171,11 @@
 
 Optionally, multiple catch statements can be provided, where each block is
 given a guarding condition, to control whether or not it will catch particular
-exception values. Two kinds of condition are supported:
+exception values. Use of this syntax will provoke an C<experimental> category
+warning on supporting perl versions, unless silenced by importing the
+C<:experimental(typed)> tag (see above).
+
+Two kinds of condition are supported:
 
 =over 4
 
@@ -361,6 +399,8 @@
    $class->import_into( $caller, @_ );
 }
 
+my @EXPERIMENTAL = qw( var typed );
+
 sub import_into
 {
    my $class = shift;
@@ -372,6 +412,14 @@
    $^H{"Syntax::Keyword::Try/try"}++ if delete $syms{try};
    $^H{"Syntax::Keyword::Try/try_value"}++ if delete $syms{try_value};
 
+   foreach ( @EXPERIMENTAL ) {
+      $^H{"Syntax::Keyword::Try/experimental($_)"}++ if delete 
$syms{":experimental($_)"};
+   }
+
+   if( delete $syms{":experimental"} ) {
+      $^H{"Syntax::Keyword::Try/experimental($_)"}++ for @EXPERIMENTAL;
+   }
+
    # Ignore requests for these, as they come automatically with `try`
    delete @syms{qw( catch finally )};
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Syntax-Keyword-Try-0.15/lib/Syntax/Keyword/Try.xs 
new/Syntax-Keyword-Try-0.16/lib/Syntax/Keyword/Try.xs
--- old/Syntax-Keyword-Try-0.15/lib/Syntax/Keyword/Try.xs       2020-07-21 
01:06:22.000000000 +0200
+++ new/Syntax-Keyword-Try-0.16/lib/Syntax/Keyword/Try.xs       2020-07-24 
00:57:11.000000000 +0200
@@ -421,7 +421,7 @@
 static XOP xop_isa;
 
 /* Totally stolen from perl 5.32.0's pp.c */
-static bool sv_isa_sv(SV *sv, SV *class)
+static bool sv_isa_sv(SV *sv, SV *namesv)
 {
   if(!SvROK(sv) || !SvOBJECT(SvRV(sv)))
     return FALSE;
@@ -429,9 +429,9 @@
   /* TODO: ->isa invocation */
 
 #if HAVE_PERL_VERSION(5,16,0)
-  return sv_derived_from_sv(sv, class, 0);
+  return sv_derived_from_sv(sv, namesv, 0);
 #else
-  return sv_derived_from(sv, SvPV_nolen(class));
+  return sv_derived_from(sv, SvPV_nolen(namesv));
 #endif
 }
 
@@ -490,9 +490,14 @@
 
     if(lex_consume("(")) {
       PADOFFSET catchvar = 0;
+      bool warned = FALSE;
+
 #ifdef WARN_EXPERIMENTAL
-      Perl_ck_warner(aTHX_ packWARN(WARN_EXPERIMENTAL),
-        "'catch (VAR)' syntax is experimental and may be changed or removed 
without notice");
+      if(!hints || !hv_fetchs(hints, "Syntax::Keyword::Try/experimental(var)", 
0)) {
+        warned = true;
+        Perl_ck_warner(aTHX_ packWARN(WARN_EXPERIMENTAL),
+          "'catch (VAR)' syntax is experimental and may be changed or removed 
without notice");
+      }
 #endif
       lex_read_space(0);
       catchvar = parse_lexvar();
@@ -533,6 +538,15 @@
         condop = regexp;
       }
 
+#ifdef WARN_EXPERIMENTAL
+      if(condop && !warned &&
+        (!hints || !hv_fetchs(hints, 
"Syntax::Keyword::Try/experimental(typed)", 0))) {
+        warned = true;
+        Perl_ck_warner(aTHX_ packWARN(WARN_EXPERIMENTAL),
+          "typed catch syntax is experimental and may be changed or removed 
without notice");
+      }
+#endif
+
       if(!lex_consume(")"))
         croak("Expected close paren for catch (VAR)");
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Syntax-Keyword-Try-0.15/t/01trycatch.t 
new/Syntax-Keyword-Try-0.16/t/01trycatch.t
--- old/Syntax-Keyword-Try-0.15/t/01trycatch.t  2020-07-21 01:06:22.000000000 
+0200
+++ new/Syntax-Keyword-Try-0.16/t/01trycatch.t  2020-07-24 00:57:11.000000000 
+0200
@@ -5,8 +5,6 @@
 
 use Test::More;
 
-use constant HAVE_WARN_EXPERIMENTAL => $] >= 5.018;
-
 use Syntax::Keyword::Try;
 
 # try success
@@ -98,7 +96,7 @@
 
 # catch into new lexical
 {
-   no if HAVE_WARN_EXPERIMENTAL, warnings => 'experimental';
+   use Syntax::Keyword::Try ':experimental(var)';
 
    try {
       die "caught\n";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Syntax-Keyword-Try-0.15/t/04catch-types.t 
new/Syntax-Keyword-Try-0.16/t/04catch-types.t
--- old/Syntax-Keyword-Try-0.15/t/04catch-types.t       2020-07-21 
01:06:22.000000000 +0200
+++ new/Syntax-Keyword-Try-0.16/t/04catch-types.t       2020-07-24 
00:57:11.000000000 +0200
@@ -5,9 +5,7 @@
 
 use Test::More;
 
-use Syntax::Keyword::Try;
-use constant HAVE_WARN_EXPERIMENTAL => $] >= 5.018;
-no if HAVE_WARN_EXPERIMENTAL, warnings => 'experimental';
+use Syntax::Keyword::Try qw( try :experimental );
 
 sub func
 {


Reply via email to