Hello community,

here is the log from the commit of package perl-Params-Classify for 
openSUSE:Factory checked in at 2017-08-10 14:01:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Params-Classify (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Params-Classify.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Params-Classify"

Thu Aug 10 14:01:45 2017 rev:7 rq:514083 version:0.015

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/perl-Params-Classify/perl-Params-Classify.changes    
    2011-11-14 13:25:38.000000000 +0100
+++ 
/work/SRC/openSUSE:Factory/.perl-Params-Classify.new/perl-Params-Classify.changes
   2017-08-10 14:11:07.428726791 +0200
@@ -1,0 +2,57 @@
+Mon Jul 31 06:07:10 UTC 2017 - co...@suse.com
+
+- updated to 0.015
+   see /usr/share/doc/packages/perl-Params-Classify/Changes
+
+  version 0.015; 2017-07-29
+  
+    * update for changed S_croak_xs_usage() prototype in ExtUtils::ParseXS
+      3.30, requiring the new version of that module in order to build
+      the XS implementation
+  
+    * in documentation, use four-column indentation for all verbatim
+      material
+  
+    * in META.{yml,json}, point to public bug tracker
+  
+    * correctly classify ExtUtils::ParseXS dependency as a recommendation
+      rather than a requirement
+  
+    * avoid some compiler warnings
+
+-------------------------------------------------------------------
+Sun Jul 16 05:58:10 UTC 2017 - co...@suse.com
+
+- updated to 0.014
+   see /usr/share/doc/packages/perl-Params-Classify/Changes
+
+  version 0.014; 2017-07-16
+  
+    * port to Perl 5.19.4, where the C type of array indices has changed
+  
+    * update to accommodate PERL_OP_PARENT builds of Perl 5.21.11 or later
+      (which is the default from Perl 5.25.1)
+  
+    * trigger custom op generation via Devel::CallChecker rather than by
+      hooking the underlying op checker
+  
+    * update test suite to not rely on . in @INC, which is no longer
+      necessarily there from Perl 5.25.7
+  
+    * no longer include a Makefile.PL in the distribution
+  
+    * correct dynamic_config setting to 0
+  
+    * use boolSV() where appropriate in XS code
+  
+    * use cBOOL() where appropriate
+  
+    * consistently use THX_ prefix on internal function names
+  
+    * include META.json in distribution
+  
+    * convert .cvsignore to .gitignore
+  
+    * add MYMETA.json to .cvsignore
+
+-------------------------------------------------------------------

Old:
----
  Params-Classify-0.013.tar.gz

New:
----
  Params-Classify-0.015.tar.gz
  cpanspec.yml

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

Other differences:
------------------
++++++ perl-Params-Classify.spec ++++++
--- /var/tmp/diff_new_pack.Mw35v4/_old  2017-08-10 14:11:08.116629939 +0200
+++ /var/tmp/diff_new_pack.Mw35v4/_new  2017-08-10 14:11:08.116629939 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package perl-Params-Classify
 #
-# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -15,33 +15,24 @@
 # Please submit bugfixes or comments via http://bugs.opensuse.org/
 #
 
+
 Name:           perl-Params-Classify
-Version:        0.013
-Release:        1
-License:        GPL-1.0+ or Artistic-1.0
+Version:        0.015
+Release:        0
 %define cpan_name Params-Classify
-Summary:        Argument type classification
-Url:            http://search.cpan.org/dist/Params-Classify/
+Summary:        Argument Type Classification
+License:        Artistic-1.0 or GPL-1.0+
 Group:          Development/Libraries/Perl
-Source:         
http://www.cpan.org/authors/id/Z/ZE/ZEFRAM/%{cpan_name}-%{version}.tar.gz
+Url:            http://search.cpan.org/dist/Params-Classify/
+Source0:        
https://cpan.metacpan.org/authors/id/Z/ZE/ZEFRAM/%{cpan_name}-%{version}.tar.gz
+Source1:        cpanspec.yml
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildRequires:  perl
 BuildRequires:  perl-macros
 BuildRequires:  perl(Module::Build)
-BuildRequires:  perl(ExtUtils::ParseXS) >= 2.2006
-BuildRequires:  perl(Test::More)
-BuildRequires:  perl(strict)
-BuildRequires:  perl(warnings)
-#
-BuildRequires:  perl(Exporter)
-BuildRequires:  perl(Scalar::Util) >= 1.01
 BuildRequires:  perl(parent)
-Requires:       perl(Exporter)
-Requires:       perl(Scalar::Util) >= 1.01
 Requires:       perl(parent)
-%if 0%{?suse_version} > 1010
-Recommends:     perl(XSLoader)
-%endif
+Recommends:     perl(Devel::CallChecker) >= 0.003
 %{perl_requires}
 
 %description
@@ -60,7 +51,7 @@
 for arguments of the types handled by the classification functions.
 Enforcement of more complex types may, of course, be built using the
 classification functions, or it may be more convenient to use a module
-designed for the more complex job, such as the Params::Validate manpage.
+designed for the more complex job, such as Params::Validate.
 
 This module is implemented in XS, with a pure Perl backup version for
 systems that can't handle XS.
@@ -79,9 +70,6 @@
 ./Build install destdir=%{buildroot} create_packlist=0
 %perl_gen_filelist
 
-%clean
-%{__rm} -rf %{buildroot}
-
 %files -f %{name}.files
 %defattr(-,root,root,755)
 %doc Changes README

++++++ Params-Classify-0.013.tar.gz -> Params-Classify-0.015.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Params-Classify-0.013/.gitignore 
new/Params-Classify-0.015/.gitignore
--- old/Params-Classify-0.013/.gitignore        1970-01-01 01:00:00.000000000 
+0100
+++ new/Params-Classify-0.015/.gitignore        2017-07-29 16:53:01.000000000 
+0200
@@ -0,0 +1,14 @@
+/Build
+/Makefile
+/_build
+/blib
+/META.json
+/META.yml
+/MYMETA.json
+/MYMETA.yml
+/Makefile.PL
+/SIGNATURE
+/Params-Classify-*
+/lib/Params/callchecker0.h
+/lib/Params/Classify.c
+/lib/Params/Classify.o
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Params-Classify-0.013/Build.PL 
new/Params-Classify-0.015/Build.PL
--- old/Params-Classify-0.013/Build.PL  2010-11-16 21:35:47.000000000 +0100
+++ new/Params-Classify-0.015/Build.PL  2017-07-29 16:53:01.000000000 +0200
@@ -30,9 +30,64 @@
        }
        sub find_xs_files {
                my($self) = @_;
-               return {} unless $self->have_c_compiler;
+               return {} unless $self->have_c_compiler &&
+                       eval {
+                               require ExtUtils::ParseXS;
+                               ExtUtils::ParseXS->VERSION(3.30);
+                               1;
+                       };
                return $self->SUPER::find_xs_files;
        }
+       sub compile_xs {
+               my($self, $file, %args) = @_;
+               require ExtUtils::ParseXS;
+               ExtUtils::ParseXS->VERSION(3.30);
+               return $self->SUPER::compile_xs($file, %args);
+       }
+       sub compile_c {
+               my($self, $file, %args) = @_;
+               my $cc0_h =
+                       $self->localize_file_path("lib/Params/callchecker0.h");
+               unless(-f $cc0_h) {
+                       my $content = eval {
+                               local $SIG{__DIE__};
+                               require Devel::CallChecker;
+                               Devel::CallChecker->VERSION(0.003);
+                               &Devel::CallChecker::callchecker0_h();
+                       } || "";
+                       $self->add_to_cleanup($cc0_h);
+                       require IO::File;
+                       my $fh = IO::File->new($cc0_h, "w") or die $!;
+                       $fh->printflush($content) or die $!;
+                       $fh->close or die $!;
+               }
+               return $self->SUPER::compile_c($file, %args);
+       }
+       sub link_c {
+               no strict "refs";
+               my($self, $spec) = @_;
+               my $cb = $self->cbuilder;
+               my $cbclass = ref($cb);
+               my $orig_cb_link = $cb->can("link");
+               local *{"${cbclass}::link"} = sub {
+                       my($self, %args) = @_;
+                       if($args{module_name} eq "Params::Classify") {
+                               my $cc_linkables = eval {
+                                   local $SIG{__DIE__};
+                                   require Devel::CallChecker;
+                                   Devel::CallChecker->VERSION(0.003);
+                                   [&Devel::CallChecker::callchecker_linkable];
+                               } || [];
+                               $args{objects} = [
+                                   @{$args{objects}},
+                                   @$cc_linkables,
+                               ];
+                       }
+                       @_ = ($self, %args);
+                       goto &$orig_cb_link;
+               };
+               $self->SUPER::link_c($spec);
+       }
 })->new(
        module_name => "Params::Classify",
        license => "perl",
@@ -46,7 +101,6 @@
                "ExtUtils::CBuilder" => "0.15",
        },
        build_requires => {
-               "ExtUtils::ParseXS" => "2.2006",
                "Module::Build" => 0,
                "Test::More" => 0,
                "perl" => "5.006001",
@@ -54,7 +108,9 @@
                "warnings" => 0,
        },
        build_recommends => {
+               "Devel::CallChecker" => "0.003",
                "ExtUtils::CBuilder" => "0.15",
+               "ExtUtils::ParseXS" => "3.30",
        },
        requires => {
                "Exporter" => 0,
@@ -65,12 +121,22 @@
                "warnings" => 0,
        },
        recommends => {
+               "Devel::CallChecker" => "0.003",
                "XSLoader" => 0,
        },
        needs_compiler => 0,
-       dynamic_config => 1,
+       dynamic_config => 0,
        meta_add => { distribution_type => "module" },
-       create_makefile_pl => "passthrough",
+       meta_merge => {
+               "meta-spec" => { version => "2" },
+               resources => {
+                       bugtracker => {
+                               mailto => "bug-Params-Classify\@rt.cpan.org",
+                               web => "https://rt.cpan.org/Public/Dist/";.
+                                       "Display.html?Name=Params-Classify",
+                       },
+               },
+       },
        sign => 1,
 )->create_build_script;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Params-Classify-0.013/Changes 
new/Params-Classify-0.015/Changes
--- old/Params-Classify-0.013/Changes   2010-11-16 21:35:47.000000000 +0100
+++ new/Params-Classify-0.015/Changes   2017-07-29 16:53:01.000000000 +0200
@@ -1,3 +1,48 @@
+version 0.015; 2017-07-29
+
+  * update for changed S_croak_xs_usage() prototype in ExtUtils::ParseXS
+    3.30, requiring the new version of that module in order to build
+    the XS implementation
+
+  * in documentation, use four-column indentation for all verbatim
+    material
+
+  * in META.{yml,json}, point to public bug tracker
+
+  * correctly classify ExtUtils::ParseXS dependency as a recommendation
+    rather than a requirement
+
+  * avoid some compiler warnings
+
+version 0.014; 2017-07-16
+
+  * port to Perl 5.19.4, where the C type of array indices has changed
+
+  * update to accommodate PERL_OP_PARENT builds of Perl 5.21.11 or later
+    (which is the default from Perl 5.25.1)
+
+  * trigger custom op generation via Devel::CallChecker rather than by
+    hooking the underlying op checker
+
+  * update test suite to not rely on . in @INC, which is no longer
+    necessarily there from Perl 5.25.7
+
+  * no longer include a Makefile.PL in the distribution
+
+  * correct dynamic_config setting to 0
+
+  * use boolSV() where appropriate in XS code
+
+  * use cBOOL() where appropriate
+
+  * consistently use THX_ prefix on internal function names
+
+  * include META.json in distribution
+
+  * convert .cvsignore to .gitignore
+
+  * add MYMETA.json to .cvsignore
+
 version 0.013; 2010-11-16
 
   * bugfix: avoid triggering a core assertion on debugging builds,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Params-Classify-0.013/MANIFEST 
new/Params-Classify-0.015/MANIFEST
--- old/Params-Classify-0.013/MANIFEST  2010-11-16 21:35:47.000000000 +0100
+++ new/Params-Classify-0.015/MANIFEST  2017-07-29 16:53:01.000000000 +0200
@@ -1,11 +1,10 @@
-.cvsignore
+.gitignore
 Build.PL
 Changes
 MANIFEST
+META.json
 META.yml
-Makefile.PL
 README
-lib/Params/.cvsignore
 lib/Params/Classify.pm
 lib/Params/Classify.xs
 t/blessed.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Params-Classify-0.013/META.json 
new/Params-Classify-0.015/META.json
--- old/Params-Classify-0.013/META.json 1970-01-01 01:00:00.000000000 +0100
+++ new/Params-Classify-0.015/META.json 2017-07-29 16:53:01.000000000 +0200
@@ -0,0 +1,67 @@
+{
+   "abstract" : "argument type classification",
+   "author" : [
+      "Andrew Main (Zefram) <zef...@fysh.org>"
+   ],
+   "dynamic_config" : 0,
+   "generated_by" : "Module::Build version 0.4224",
+   "license" : [
+      "perl_5"
+   ],
+   "meta-spec" : {
+      "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec";,
+      "version" : 2
+   },
+   "name" : "Params-Classify",
+   "prereqs" : {
+      "build" : {
+         "requires" : {
+            "Module::Build" : "0",
+            "Test::More" : "0",
+            "perl" : "5.006001",
+            "strict" : "0",
+            "warnings" : "0"
+         }
+      },
+      "configure" : {
+         "requires" : {
+            "Module::Build" : "0",
+            "perl" : "5.006001",
+            "strict" : "0",
+            "warnings" : "0"
+         }
+      },
+      "runtime" : {
+         "recommends" : {
+            "Devel::CallChecker" : "0.003",
+            "XSLoader" : "0"
+         },
+         "requires" : {
+            "Exporter" : "0",
+            "Scalar::Util" : "1.01",
+            "parent" : "0",
+            "perl" : "5.006001",
+            "strict" : "0",
+            "warnings" : "0"
+         }
+      }
+   },
+   "provides" : {
+      "Params::Classify" : {
+         "file" : "lib/Params/Classify.pm",
+         "version" : "0.015"
+      }
+   },
+   "release_status" : "stable",
+   "resources" : {
+      "bugtracker" : {
+         "mailto" : "bug-params-class...@rt.cpan.org",
+         "web" : 
"https://rt.cpan.org/Public/Dist/Display.html?Name=Params-Classify";
+      },
+      "license" : [
+         "http://dev.perl.org/licenses/";
+      ]
+   },
+   "version" : "0.015",
+   "x_serialization_backend" : "JSON::PP version 2.93"
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Params-Classify-0.013/META.yml 
new/Params-Classify-0.015/META.yml
--- old/Params-Classify-0.013/META.yml  2010-11-16 21:35:47.000000000 +0100
+++ new/Params-Classify-0.015/META.yml  2017-07-29 16:53:01.000000000 +0200
@@ -3,38 +3,39 @@
 author:
   - 'Andrew Main (Zefram) <zef...@fysh.org>'
 build_requires:
-  ExtUtils::ParseXS: 2.2006
-  Module::Build: 0
-  Test::More: 0
-  perl: 5.006001
-  strict: 0
-  warnings: 0
+  Module::Build: '0'
+  Test::More: '0'
+  perl: '5.006001'
+  strict: '0'
+  warnings: '0'
 configure_requires:
-  Module::Build: 0
-  perl: 5.006001
-  strict: 0
-  warnings: 0
-distribution_type: module
-dynamic_config: 1
-generated_by: 'Module::Build version 0.3607'
+  Module::Build: '0'
+  perl: '5.006001'
+  strict: '0'
+  warnings: '0'
+dynamic_config: 0
+generated_by: 'Module::Build version 0.4224, CPAN::Meta::Converter version 
2.150010'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
-  version: 1.4
+  version: '1.4'
 name: Params-Classify
 provides:
   Params::Classify:
     file: lib/Params/Classify.pm
-    version: 0.013
+    version: '0.015'
 recommends:
-  XSLoader: 0
+  Devel::CallChecker: '0.003'
+  XSLoader: '0'
 requires:
-  Exporter: 0
-  Scalar::Util: 1.01
-  parent: 0
-  perl: 5.006001
-  strict: 0
-  warnings: 0
+  Exporter: '0'
+  Scalar::Util: '1.01'
+  parent: '0'
+  perl: '5.006001'
+  strict: '0'
+  warnings: '0'
 resources:
+  bugtracker: https://rt.cpan.org/Public/Dist/Display.html?Name=Params-Classify
   license: http://dev.perl.org/licenses/
-version: 0.013
+version: '0.015'
+x_serialization_backend: 'CPAN::Meta::YAML version 0.012'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Params-Classify-0.013/Makefile.PL 
new/Params-Classify-0.015/Makefile.PL
--- old/Params-Classify-0.013/Makefile.PL       2010-11-16 21:35:47.000000000 
+0100
+++ new/Params-Classify-0.015/Makefile.PL       1970-01-01 01:00:00.000000000 
+0100
@@ -1,35 +0,0 @@
-# Note: this file was auto-generated by Module::Build::Compat version 0.3607
-require 5.006001;
-
-    unless (eval "use Module::Build::Compat 0.02; 1" ) {
-      print "This module requires Module::Build to install itself.\n";
-
-      require ExtUtils::MakeMaker;
-      my $yn = ExtUtils::MakeMaker::prompt
-       ('  Install Module::Build now from CPAN?', 'y');
-
-      unless ($yn =~ /^y/i) {
-       die " *** Cannot install without Module::Build.  Exiting ...\n";
-      }
-
-      require Cwd;
-      require File::Spec;
-      require CPAN;
-
-      # Save this 'cause CPAN will chdir all over the place.
-      my $cwd = Cwd::cwd();
-
-      CPAN::Shell->install('Module::Build::Compat');
-      CPAN::Shell->expand("Module", "Module::Build::Compat")->uptodate
-       or die "Couldn't install Module::Build, giving up.\n";
-
-      chdir $cwd or die "Cannot chdir() back to $cwd: $!";
-    }
-    eval "use Module::Build::Compat 0.02; 1" or die $@;
-    use lib '_build/lib';
-    Module::Build::Compat->run_build_pl(args => \@ARGV);
-    my $build_script = 'Build';
-    $build_script .= '.com' if $^O eq 'VMS';
-    exit(0) unless(-e $build_script); # cpantesters convention
-    require MyModuleBuilder;
-    Module::Build::Compat->write_makefile(build_class => 'MyModuleBuilder');
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Params-Classify-0.013/README 
new/Params-Classify-0.015/README
--- old/Params-Classify-0.013/README    2010-11-16 21:35:47.000000000 +0100
+++ new/Params-Classify-0.015/README    2017-07-29 16:53:01.000000000 +0200
@@ -37,7 +37,7 @@
 
 COPYRIGHT
 
-Copyright (C) 2004, 2006, 2007, 2009, 2010
+Copyright (C) 2004, 2006, 2007, 2009, 2010, 2017
 Andrew Main (Zefram) <zef...@fysh.org>
 
 Copyright (C) 2009, 2010 PhotoBox Ltd
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Params-Classify-0.013/SIGNATURE 
new/Params-Classify-0.015/SIGNATURE
--- old/Params-Classify-0.013/SIGNATURE 2010-11-16 21:35:52.000000000 +0100
+++ new/Params-Classify-0.015/SIGNATURE 2017-07-29 16:53:07.000000000 +0200
@@ -1,5 +1,5 @@
 This file contains message digests of all files listed in MANIFEST,
-signed via the Module::Signature module, version 0.66.
+signed via the Module::Signature module, version 0.81.
 
 To verify the content in this distribution, first make sure you have
 Module::Signature installed, then type:
@@ -14,34 +14,33 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-SHA1 2f6a77cc1af0bc60cf87ec5335a995defa3e6eaf .cvsignore
-SHA1 a433f32fb0d0334e4001ec04741f776c4199379d Build.PL
-SHA1 22cbe81208a74303ace05ff63a9243c3cb87221d Changes
-SHA1 2e0cd1c1b78fb8591fde383f023acb4a579cb4dc MANIFEST
-SHA1 1463aa8b2d472d2dca1d6f601e28e874ef95e502 META.yml
-SHA1 0e23f901a8f88cc5f8fd6f9aa29c9122db1c00e4 Makefile.PL
-SHA1 00ef56b107920b1bb435a80247d50dded3c1eace README
-SHA1 91978573e906c90b93752e0733ef8e875f0d1b89 lib/Params/.cvsignore
-SHA1 615202f9e823f139fbfcb4fe46fc7cc8989da9b0 lib/Params/Classify.pm
-SHA1 40b5ef7d1c03d951912097973ecd6b2e095a3c32 lib/Params/Classify.xs
+SHA1 23fe160a5180101b0c60d58b6348de332b8008b9 .gitignore
+SHA1 7631199ef70df2ec207adc87132825d34e7160c2 Build.PL
+SHA1 a81a83d2e34ee5e85a8cdc152962e9724f306511 Changes
+SHA1 54793f1da593406ac164e4dd2ff190f3211c0062 MANIFEST
+SHA1 240890b30827a235eba2c017c7bbcdceb31abfc2 META.json
+SHA1 4832e50df1f2b581ac97e832d15f4d6bd861e366 META.yml
+SHA1 bb0e036b5c11cb7e0e07f909776fb2b973e891cb README
+SHA1 683529801ed37ce8ac6393836a492fa94137b6f2 lib/Params/Classify.pm
+SHA1 1cc33ea6793cd87043e868f98e7812610ccac8f5 lib/Params/Classify.xs
 SHA1 497c90b7b470f8c3a4594265c4a97376000fc2aa t/blessed.t
-SHA1 a3d9a389510faf3bfecb4860a14813988a0eddcd t/blessed_pp.t
+SHA1 7217d9cfb3ff600005ea54634f3776da43b88e4a t/blessed_pp.t
 SHA1 e05666c5b2480ce441116ff26e55fa5bb07fb741 t/check.t
-SHA1 ec88f98f2f29c1a6999db46666e5eb7cf9fa46b1 t/check_pp.t
+SHA1 2107a86bccaeb55e02dbc51f79cfcabc657d06de t/check_pp.t
 SHA1 071b996f6953fd005472b99a0ed867404425239a t/classify.t
-SHA1 22c8bb9af38f3eaa604350884e3fcc9c200b5f1b t/classify_pp.t
+SHA1 0fef2e6f108aeb7cdcfacbbc201fa6c2e32e688d t/classify_pp.t
 SHA1 29b6f328b7b3c928d455f82d1a0708d821445554 t/error.t
-SHA1 fc008cb61eb02798d6ec02df230ef4d59bcdca12 t/error_pp.t
+SHA1 a1db817b20659750c1acc66816815e9604286b3a t/error_pp.t
 SHA1 904d9a4f76525e2303e4b0c168c68230f223c8de t/pod_cvg.t
-SHA1 3f447b1d0b8a6247c3a311087f8d66da1c3ca5db t/pod_cvg_pp.t
+SHA1 8b0ef0af30cd5064cf1b3d57c5fdbab11f8c567c t/pod_cvg_pp.t
 SHA1 65c75abdef6f01a5d1588a307f2ddfe2333dc961 t/pod_syn.t
 SHA1 8a817d64d2098a5dfa7b65ba87b38314f9b3241e t/ref.t
-SHA1 4a19b745e2bcdfb8db18b149e79fcf8c235b24f8 t/ref_pp.t
+SHA1 a79c42e5e482fbf0c47a40fa4d20db975854fa89 t/ref_pp.t
 SHA1 97157325ac601fe786026cdc319f958c8ea785ae t/setup_pp.pl
 -----BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.9 (GNU/Linux)
+Version: GnuPG v1
 
-iEYEARECAAYFAkzi6yMACgkQOV9mt2VyAVE+hQCeOJemX8bpRvhEK7XBeB3YBmkF
-ZhIAoI/InODHqUDzt2Aryvc6tZH1SFNb
-=kZIC
+iEYEARECAAYFAll8oU0ACgkQOV9mt2VyAVHtqQCdHuuvfO8MFk+746FRVvgqXofR
+u5QAniv1tkNWSQJ/7tbXLX0eweqzmSbS
+=ni3G
 -----END PGP SIGNATURE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Params-Classify-0.013/lib/Params/Classify.pm 
new/Params-Classify-0.015/lib/Params/Classify.pm
--- old/Params-Classify-0.013/lib/Params/Classify.pm    2010-11-16 
21:35:47.000000000 +0100
+++ new/Params-Classify-0.015/lib/Params/Classify.pm    2017-07-29 
16:53:01.000000000 +0200
@@ -4,49 +4,48 @@
 
 =head1 SYNOPSIS
 
-       use Params::Classify qw(
-               scalar_class
-               is_undef check_undef
-               is_string check_string
-               is_number check_number
-               is_glob check_glob
-               is_regexp check_regexp
-               is_ref check_ref ref_type
-               is_blessed check_blessed blessed_class
-               is_strictly_blessed check_strictly_blessed
-               is_able check_able
-       );
+    use Params::Classify qw(
+       scalar_class
+       is_undef check_undef
+       is_string check_string
+       is_number check_number
+       is_glob check_glob
+       is_regexp check_regexp
+       is_ref check_ref ref_type
+       is_blessed check_blessed blessed_class
+       is_strictly_blessed check_strictly_blessed
+       is_able check_able);
 
-       $c = scalar_class($arg);
+    $c = scalar_class($arg);
 
-       if(is_undef($arg)) {
-       check_undef($arg);
+    if(is_undef($arg)) {
+    check_undef($arg);
 
-       if(is_string($arg)) {
-       check_string($arg);
-       if(is_number($arg)) {
-       check_number($arg);
-
-       if(is_glob($arg)) {
-       check_glob($arg);
-       if(is_regexp($arg)) {
-       check_regexp($arg);
-
-       if(is_ref($arg)) {
-       check_ref($arg);
-       $t = ref_type($arg);
-       if(is_ref($arg, "HASH")) {
-       check_ref($arg, "HASH");
-
-       if(is_blessed($arg)) {
-       check_blessed($arg);
-       if(is_blessed($arg, "IO::Handle")) {
-       check_blessed($arg, "IO::Handle");
-       $c = blessed_class($arg);
-       if(is_strictly_blessed($arg, "IO::Pipe::End")) {
-       check_strictly_blessed($arg, "IO::Pipe::End");
-       if(is_able($arg, ["print", "flush"])) {
-       check_able($arg, ["print", "flush"]);
+    if(is_string($arg)) {
+    check_string($arg);
+    if(is_number($arg)) {
+    check_number($arg);
+
+    if(is_glob($arg)) {
+    check_glob($arg);
+    if(is_regexp($arg)) {
+    check_regexp($arg);
+
+    if(is_ref($arg)) {
+    check_ref($arg);
+    $t = ref_type($arg);
+    if(is_ref($arg, "HASH")) {
+    check_ref($arg, "HASH");
+
+    if(is_blessed($arg)) {
+    check_blessed($arg);
+    if(is_blessed($arg, "IO::Handle")) {
+    check_blessed($arg, "IO::Handle");
+    $c = blessed_class($arg);
+    if(is_strictly_blessed($arg, "IO::Pipe::End")) {
+    check_strictly_blessed($arg, "IO::Pipe::End");
+    if(is_able($arg, ["print", "flush"])) {
+    check_able($arg, ["print", "flush"]);
 
 =head1 DESCRIPTION
 
@@ -78,7 +77,7 @@
 use warnings;
 use strict;
 
-our $VERSION = "0.013";
+our $VERSION = "0.015";
 
 use parent "Exporter";
 our @EXPORT_OK = qw(
@@ -95,6 +94,10 @@
 );
 
 eval { local $SIG{__DIE__};
+       require Devel::CallChecker;
+       Devel::CallChecker->VERSION(0.003);
+};
+eval { local $SIG{__DIE__};
        require XSLoader;
        XSLoader::load(__PACKAGE__, $VERSION);
 };
@@ -104,7 +107,7 @@
 } else {
        (my $filename = __FILE__) =~ tr# -~##cd;
        local $/ = undef;
-       my $pp_code = "#line 128 \"$filename\"\n".<DATA>;
+       my $pp_code = "#line 137 \"$filename\"\n".<DATA>;
        close(DATA);
        {
                local $SIG{__DIE__};
@@ -583,7 +586,7 @@
 
 =head1 COPYRIGHT
 
-Copyright (C) 2004, 2006, 2007, 2009, 2010
+Copyright (C) 2004, 2006, 2007, 2009, 2010, 2017
 Andrew Main (Zefram) <zef...@fysh.org>
 
 Copyright (C) 2009, 2010 PhotoBox Ltd
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Params-Classify-0.013/lib/Params/Classify.xs 
new/Params-Classify-0.015/lib/Params/Classify.xs
--- old/Params-Classify-0.013/lib/Params/Classify.xs    2010-11-16 
21:35:47.000000000 +0100
+++ new/Params-Classify-0.015/lib/Params/Classify.xs    2017-07-29 
16:53:01.000000000 +0200
@@ -1,6 +1,7 @@
 #define PERL_NO_GET_CONTEXT 1
 #include "EXTERN.h"
 #include "perl.h"
+#include "callchecker0.h"
 #include "XSUB.h"
 
 #define PERL_VERSION_DECIMAL(r,v,s) (r*1000000 + v*1000 + s)
@@ -9,6 +10,15 @@
 #define PERL_VERSION_GE(r,v,s) \
        (PERL_DECIMAL_VERSION >= PERL_VERSION_DECIMAL(r,v,s))
 
+#if !PERL_VERSION_GE(5,7,2)
+# undef dNOOP
+# define dNOOP extern int Perl___notused_func(void)
+#endif /* <5.7.2 */
+
+#ifndef cBOOL
+# define cBOOL(x) ((bool)!!(x))
+#endif /* !cBOOL */
+
 #ifndef PERL_UNUSED_VAR
 # define PERL_UNUSED_VAR(x) ((void)x)
 #endif /* !PERL_UNUSED_VAR */
@@ -33,6 +43,12 @@
 # define newSVpvn_share(s, l, h) newSVpvn(s, l)
 #endif /* !newSVpvn_share */
 
+#if PERL_VERSION_GE(5,19,4)
+typedef SSize_t array_ix_t;
+#else /* <5.19.4 */
+typedef I32 array_ix_t;
+#endif /* <5.19.4 */
+
 #ifndef DPTR2FPTR
 # define DPTR2FPTR(t,x) ((t)(UV)(x))
 #endif /* !DPTR2FPTR */
@@ -41,7 +57,23 @@
 # define FPTR2DPTR(t,x) ((t)(UV)(x))
 #endif /* !FPTR2DPTR */
 
-#ifndef ptr_table_new
+#ifndef OpMORESIB_set
+# define OpMORESIB_set(o, sib) ((o)->op_sibling = (sib))
+# define OpLASTSIB_set(o, parent) ((o)->op_sibling = NULL)
+# define OpMAYBESIB_set(o, sib, parent) ((o)->op_sibling = (sib))
+#endif /* !OpMORESIB_set */
+#ifndef OpSIBLING
+# define OpHAS_SIBLING(o) (cBOOL((o)->op_sibling))
+# define OpSIBLING(o) (0 + (o)->op_sibling)
+#endif /* !OpSIBLING */
+
+#ifdef cv_set_call_checker
+# define QUSE_CUSTOM_OPS 1
+#else /* !cv_set_call_checker */
+# define QUSE_CUSTOM_OPS 0
+#endif /* !cv_set_call_checker */
+
+#if defined(QUSE_CUSTOM_OPS) && !defined(ptr_table_new)
 
 struct q_ptr_tbl_ent {
        struct q_ptr_tbl_ent *next;
@@ -95,7 +127,13 @@
        return NULL;
 }
 
-#endif /* !ptr_table_new */
+#endif /* QUSE_CUSTOM_OPS && !ptr_table_new */
+
+#if PERL_VERSION_GE(5,7,3)
+# define PERL_UNUSED_THX() NOOP
+#else /* <5.7.3 */
+# define PERL_UNUSED_THX() ((void)(aTHX+0))
+#endif /* <5.7.3 */
 
 #if PERL_VERSION_GE(5,11,0)
 # define case_SVt_RV_
@@ -132,25 +170,35 @@
 #define sv_is_untyped_ref(sv) (SvROK(sv) && !SvOBJECT(SvRV(sv)))
 #define sv_is_untyped_blessed(sv) (SvROK(sv) && SvOBJECT(SvRV(sv)))
 
-#define bool_sv(b) ((b) ? &PL_sv_yes : &PL_sv_no)
-
-static bool THX_sv_is_undef(pTHX_ SV *sv) { return !!sv_is_undef(sv); }
+static bool THX_sv_is_undef(pTHX_ SV *sv) {
+       PERL_UNUSED_THX();
+       return cBOOL(sv_is_undef(sv));
+}
 
-static bool THX_sv_is_string(pTHX_ SV *sv) { return !!sv_is_string(sv); }
+static bool THX_sv_is_string(pTHX_ SV *sv) {
+       PERL_UNUSED_THX();
+       return cBOOL(sv_is_string(sv));
+}
 
-static bool THX_sv_is_glob(pTHX_ SV *sv) { return !!sv_is_glob(sv); }
+static bool THX_sv_is_glob(pTHX_ SV *sv) {
+       PERL_UNUSED_THX();
+       return cBOOL(sv_is_glob(sv));
+}
 
 static bool THX_sv_is_regexp(pTHX_ SV *sv) {
+       PERL_UNUSED_THX();
        PERL_UNUSED_ARG(sv);
-       return !!sv_is_regexp(sv);
+       return cBOOL(sv_is_regexp(sv));
 }
 
 static bool THX_sv_is_untyped_ref(pTHX_ SV *sv) {
-       return !!sv_is_untyped_ref(sv);
+       PERL_UNUSED_THX();
+       return cBOOL(sv_is_untyped_ref(sv));
 }
 
 static bool THX_sv_is_untyped_blessed(pTHX_ SV *sv) {
-       return !!sv_is_untyped_blessed(sv);
+       PERL_UNUSED_THX();
+       return cBOOL(sv_is_untyped_blessed(sv));
 }
 
 enum {
@@ -210,6 +258,7 @@
 #define scalar_class(arg) THX_scalar_class(aTHX_ arg)
 static I32 THX_scalar_class(pTHX_ SV *arg)
 {
+       PERL_UNUSED_THX();
        if(sv_is_glob(arg)) {
                return SCLASS_GLOB;
        } else if(sv_is_regexp(arg)) {
@@ -272,6 +321,7 @@
 #define ref_type(referent) THX_ref_type(aTHX_ referent)
 static I32 THX_ref_type(pTHX_ SV *referent)
 {
+       PERL_UNUSED_THX();
        switch(SvTYPE(referent)) {
                case SVt_NULL: case SVt_IV: case SVt_NV: case_SVt_RV_
                case SVt_PV: case SVt_PVIV: case SVt_PVNV:
@@ -299,6 +349,7 @@
 {
        HV *stash = SvSTASH(referent);
        const char *name = HvNAME_get(stash);
+       PERL_UNUSED_THX();
        return name ? name : "__ANON__";
 }
 
@@ -321,7 +372,7 @@
        SPAGAIN;
        if(retcount != 1) croak("call_method misbehaving\n");
        ret = POPs;
-       retval = !!SvTRUE(ret);
+       retval = cBOOL(SvTRUE(ret));
        PUTBACK;
        FREETMPS;
        LEAVE;
@@ -375,7 +426,7 @@
                                sclassmeta->desc_adj_or_noun_phrase);
                if(GIMME_V == G_SCALAR) XPUSHs(&PL_sv_undef);
        } else {
-               SV *result = bool_sv(matches);
+               SV *result = boolSV(matches);
                XPUSHs(result);
        }
        PUTBACK;
@@ -397,7 +448,7 @@
                                rtypemeta->desc_noun);
                if(GIMME_V == G_SCALAR) XPUSHs(&PL_sv_undef);
        } else {
-               SV *result = bool_sv(matches);
+               SV *result = boolSV(matches);
                XPUSHs(result);
        }
        PUTBACK;
@@ -424,7 +475,7 @@
                        meth = attr;
                } else {
                        AV *methods_av;
-                       I32 alen, pos;
+                       array_ix_t alen, pos;
                        if(!SvROK(attr) || SvOBJECT(SvRV(attr)) ||
                                        SvTYPE(SvRV(attr)) != SVt_PVAV)
                                croak("methods argument is not "
@@ -451,7 +502,7 @@
                                matches = call_bool_method(arg, "can", attr);
                        } else {
                                AV *methods_av = (AV*)SvRV(attr);
-                               I32 alen = av_len(methods_av), pos;
+                               array_ix_t alen = av_len(methods_av), pos;
                                for(pos = 0; pos <= alen; pos++) {
                                        meth = *av_fetch(methods_av, pos, 0);
                                        if(!call_bool_method(arg, "can",
@@ -495,12 +546,14 @@
                }
                if(GIMME_V == G_SCALAR) XPUSHs(&PL_sv_undef);
        } else {
-               SV *result = bool_sv(matches);
+               SV *result = boolSV(matches);
                XPUSHs(result);
        }
        PUTBACK;
 }
 
+#if QUSE_CUSTOM_OPS
+
 static OP *THX_pp_scalar_class(pTHX)
 {
        pp1_scalar_class();
@@ -543,9 +596,11 @@
        return NORMAL;
 }
 
+#endif /* QUSE_CUSTOM_OPS */
+
 #ifndef PERL_ARGS_ASSERT_CROAK_XS_USAGE
-static void S_croak_xs_usage(pTHX_ const CV *, const char *);
-# define croak_xs_usage(cv, params) S_croak_xs_usage(aTHX_ cv, params)
+static void S_croak_xs_usage(const CV *, const char *);
+# define croak_xs_usage(cv, params) S_croak_xs_usage(cv, params)
 #endif /* !PERL_ARGS_ASSERT_CROAK_XS_USAGE */
 
 static void THX_xsfunc_scalar_class(pTHX_ CV *cv)
@@ -602,55 +657,37 @@
 # undef croak_xs_usage
 #endif /* !PERL_ARGS_ASSERT_CROAK_XS_USAGE */
 
-#define rvop_cv(rvop) THX_rvop_cv(aTHX_ rvop)
-static CV *THX_rvop_cv(pTHX_ OP *rvop)
-{
-       switch(rvop->op_type) {
-               case OP_CONST: {
-                       SV *rv = cSVOPx_sv(rvop);
-                       return SvROK(rv) ? (CV*)SvRV(rv) : NULL;
-               } break;
-               case OP_GV: return GvCV(cGVOPx_gv(rvop));
-               default: return NULL;
-       }
-}
+#if QUSE_CUSTOM_OPS
 
 static PTR_TBL_t *ppmap;
 
-static OP *(*nxck_entersub)(pTHX_ OP *o);
-static OP *myck_entersub(pTHX_ OP *op)
+static OP *THX_ck_entersub_pc(pTHX_ OP *entersubop, GV *namegv, SV *protosv)
 {
-       OP *pushop, *cvop, *aop, *bop;
-       CV *cv;
-       OP *(*ppfunc)(pTHX);
-       I32 cvflags;
-       pushop = cUNOPx(op)->op_first;
-       if(!pushop->op_sibling) pushop = cUNOPx(pushop)->op_first;
-       for(cvop = pushop; cvop->op_sibling; cvop = cvop->op_sibling) ;
-       if(!(cvop->op_type == OP_RV2CV &&
-                       !(cvop->op_private & OPpENTERSUB_AMPER) &&
-                       (cv = rvop_cv(cUNOPx(cvop)->op_first)) &&
-                       (ppfunc = DPTR2FPTR(OP*(*)(pTHX),
-                                       ptr_table_fetch(ppmap, cv)))))
-               return nxck_entersub(aTHX_ op);
-       cvflags = CvXSUBANY(cv).any_i32;
-       op = nxck_entersub(aTHX_ op);   /* for prototype checking */
-       aop = pushop->op_sibling;
-       bop = aop->op_sibling;
-       if(bop == cvop) {
-               if(!(cvflags & PC_ALLOW_UNARY)) return op;
+       CV *cv = (CV*)protosv;
+       OP *(*THX_ppfunc)(pTHX) =
+               DPTR2FPTR(OP*(*)(pTHX), ptr_table_fetch(ppmap, cv));
+       I32 cvflags = CvXSUBANY(cv).any_i32;
+       OP *pushop, *aop, *bop, *cop, *op;
+       entersubop = ck_entersub_args_proto(entersubop, namegv, protosv);
+       pushop = cUNOPx(entersubop)->op_first;
+       if(!OpHAS_SIBLING(pushop)) pushop = cUNOPx(pushop)->op_first;
+       aop = OpSIBLING(pushop);
+       bop = OpSIBLING(aop);
+       cop = bop ? OpSIBLING(bop) : NULL;
+       if(bop && !cop) {
+               if(!(cvflags & PC_ALLOW_UNARY)) return entersubop;
                unary:
-               pushop->op_sibling = bop;
-               aop->op_sibling = NULL;
-               op_free(op);
+               OpMORESIB_set(pushop, bop);
+               OpLASTSIB_set(aop, NULL);
+               op_free(entersubop);
                op = newUNOP(OP_NULL, 0, aop);
                op->op_type = OP_RAND;
-               op->op_ppaddr = ppfunc;
+               op->op_ppaddr = THX_ppfunc;
                op->op_private = (U8)cvflags;
                return op;
-       } else if(bop && bop->op_sibling == cvop) {
-               if(!(cvflags & PC_ALLOW_BINARY)) return op;
-               if(ppfunc == THX_pp_check_sclass &&
+       } else if(cop && !OpHAS_SIBLING(cop)) {
+               if(!(cvflags & PC_ALLOW_BINARY)) return entersubop;
+               if(THX_ppfunc == THX_pp_check_sclass &&
                                (cvflags & PC_TYPE_MASK) == SCLASS_REF) {
                        I32 rtype;
                        cvflags &= ~PC_TYPE_MASK;
@@ -658,29 +695,31 @@
                                (rtype = read_reftype_or_neg(cSVOPx_sv(bop)))
                                        >= 0) {
                                cvflags |= rtype;
-                               ppfunc = THX_pp_check_rtype;
+                               THX_ppfunc = THX_pp_check_rtype;
                                goto unary;
                        }
-                       ppfunc = THX_pp_check_dyn_rtype;
-               } else if(ppfunc == THX_pp_check_sclass &&
+                       THX_ppfunc = THX_pp_check_dyn_rtype;
+               } else if(THX_ppfunc == THX_pp_check_sclass &&
                                (cvflags & PC_TYPE_MASK) == SCLASS_BLESSED) {
                        cvflags &= ~PC_TYPE_MASK;
-                       ppfunc = THX_pp_check_dyn_battr;
+                       THX_ppfunc = THX_pp_check_dyn_battr;
                }
-               pushop->op_sibling = cvop;
-               aop->op_sibling = NULL;
-               bop->op_sibling = NULL;
-               op_free(op);
+               OpMORESIB_set(pushop, cop);
+               OpLASTSIB_set(aop, NULL);
+               OpLASTSIB_set(bop, NULL);
+               op_free(entersubop);
                op = newBINOP(OP_NULL, 0, aop, bop);
                op->op_type = OP_RAND;
-               op->op_ppaddr = ppfunc;
+               op->op_ppaddr = THX_ppfunc;
                op->op_private = (U8)cvflags;
                return op;
        } else {
-               return op;
+               return entersubop;
        }
 }
 
+#endif /* QUSE_CUSTOM_OPS */
+
 MODULE = Params::Classify PACKAGE = Params::Classify
 
 PROTOTYPES: DISABLE
@@ -688,15 +727,33 @@
 BOOT:
 {
        int i;
+       for(i = RTYPE_COUNT; i--; ) {
+               struct rtype_metadata *rtypemeta = &rtype_metadata[i];
+               rtypemeta->keyword_sv =
+                       newSVpvn_share(rtypemeta->keyword_pv,
+                                       strlen(rtypemeta->keyword_pv), 0);
+       }
+}
+{
+       int i;
        SV *tsv = sv_2mortal(newSV(0));
+#if QUSE_CUSTOM_OPS
        ppmap = ptr_table_new();
+# define SETUP_CUSTOM_OP(pcv, THX_ppfunc) \
+       do { \
+               ptr_table_store(ppmap, FPTR2DPTR(void*, pcv), \
+                       FPTR2DPTR(void*, THX_ppfunc)); \
+               cv_set_call_checker(pcv, THX_ck_entersub_pc, (SV*)pcv); \
+       } while(0)
+#else /* !QUSE_CUSTOM_OPS */
+# define SETUP_CUSTOM_OP(pcv, THX_ppfunc) ((void)0)
+#endif /* !QUSE_CUSTOM_OPS */
 #define SETUP_SIMPLE_UNARY_XSUB(NAME) \
        do { \
-               CV *cv = newXSproto_portable("Params::Classify::"#NAME, \
+               CV *pcv = newXSproto_portable("Params::Classify::"#NAME, \
                        THX_xsfunc_##NAME, __FILE__, "$"); \
-               CvXSUBANY(cv).any_i32 = PC_ALLOW_UNARY; \
-               ptr_table_store(ppmap, FPTR2DPTR(void*, cv), \
-                       FPTR2DPTR(void*, THX_pp_##NAME)); \
+               CvXSUBANY(pcv).any_i32 = PC_ALLOW_UNARY; \
+               SETUP_CUSTOM_OP(pcv, THX_pp_##NAME); \
        } while(0)
        SETUP_SIMPLE_UNARY_XSUB(scalar_class);
        SETUP_SIMPLE_UNARY_XSUB(ref_type);
@@ -709,7 +766,7 @@
                I32 cvflags = PC_ALLOW_UNARY |
                        (is_refish ? PC_ALLOW_BINARY : 0) | i;
                I32 variant = (i == SCLASS_BLESSED ? PC_ABLE : 0) | PC_CROAK;
-               void (*xsfunc)(pTHX_ CV*) =
+               void (*THX_xsfunc)(pTHX_ CV*) =
                        i == SCLASS_REF ? THX_xsfunc_check_ref :
                        i == SCLASS_BLESSED ? THX_xsfunc_check_blessed :
                        THX_xsfunc_check_sclass;
@@ -719,25 +776,16 @@
                sclassmeta->keyword_sv =
                        newSVpvn_share(keyword_pv, strlen(keyword_pv), 0);
                for(; variant >= 0; variant -= PC_CROAK) {
-                       CV *cv;
+                       CV *pcv;
                        sv_setpvf(tsv, "Params::Classify::%s_%s",
                                variant & PC_CROAK ? "check" : "is",
                                variant & PC_ABLE ? "able" :
                                variant & PC_STRICTBLESS ? "strictly_blessed" :
                                lckeyword);
-                       cv = newXSproto_portable(SvPVX(tsv),
-                               xsfunc, __FILE__, is_refish ? "$;$" : "$");
-                       CvXSUBANY(cv).any_i32 = cvflags | variant;
-                       ptr_table_store(ppmap, cv,
-                               FPTR2DPTR(void*, THX_pp_check_sclass));
+                       pcv = newXSproto_portable(SvPVX(tsv),
+                               THX_xsfunc, __FILE__, is_refish ? "$;$" : "$");
+                       CvXSUBANY(pcv).any_i32 = cvflags | variant;
+                       SETUP_CUSTOM_OP(pcv, THX_pp_check_sclass);
                }
        }
-       for(i = RTYPE_COUNT; i--; ) {
-               struct rtype_metadata *rtypemeta = &rtype_metadata[i];
-               rtypemeta->keyword_sv =
-                       newSVpvn_share(rtypemeta->keyword_pv,
-                                       strlen(rtypemeta->keyword_pv), 0);
-       }
-       nxck_entersub = PL_check[OP_ENTERSUB];
-       PL_check[OP_ENTERSUB] = myck_entersub;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Params-Classify-0.013/t/blessed_pp.t 
new/Params-Classify-0.015/t/blessed_pp.t
--- old/Params-Classify-0.013/t/blessed_pp.t    2010-11-16 21:35:47.000000000 
+0100
+++ new/Params-Classify-0.015/t/blessed_pp.t    2017-07-29 16:53:01.000000000 
+0200
@@ -1,7 +1,7 @@
 use warnings;
 use strict;
 
-do "t/setup_pp.pl" or die $@ || $!;
-do "t/blessed.t" or die $@ || $!;
+do "./t/setup_pp.pl" or die $@ || $!;
+do "./t/blessed.t" or die $@ || $!;
 
 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Params-Classify-0.013/t/check_pp.t 
new/Params-Classify-0.015/t/check_pp.t
--- old/Params-Classify-0.013/t/check_pp.t      2010-11-16 21:35:47.000000000 
+0100
+++ new/Params-Classify-0.015/t/check_pp.t      2017-07-29 16:53:01.000000000 
+0200
@@ -1,7 +1,7 @@
 use warnings;
 use strict;
 
-do "t/setup_pp.pl" or die $@ || $!;
-do "t/check.t" or die $@ || $!;
+do "./t/setup_pp.pl" or die $@ || $!;
+do "./t/check.t" or die $@ || $!;
 
 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Params-Classify-0.013/t/classify_pp.t 
new/Params-Classify-0.015/t/classify_pp.t
--- old/Params-Classify-0.013/t/classify_pp.t   2010-11-16 21:35:47.000000000 
+0100
+++ new/Params-Classify-0.015/t/classify_pp.t   2017-07-29 16:53:01.000000000 
+0200
@@ -1,7 +1,7 @@
 use warnings;
 use strict;
 
-do "t/setup_pp.pl" or die $@ || $!;
-do "t/classify.t" or die $@ || $!;
+do "./t/setup_pp.pl" or die $@ || $!;
+do "./t/classify.t" or die $@ || $!;
 
 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Params-Classify-0.013/t/error_pp.t 
new/Params-Classify-0.015/t/error_pp.t
--- old/Params-Classify-0.013/t/error_pp.t      2010-11-16 21:35:47.000000000 
+0100
+++ new/Params-Classify-0.015/t/error_pp.t      2017-07-29 16:53:01.000000000 
+0200
@@ -1,7 +1,7 @@
 use warnings;
 use strict;
 
-do "t/setup_pp.pl" or die $@ || $!;
-do "t/error.t" or die $@ || $!;
+do "./t/setup_pp.pl" or die $@ || $!;
+do "./t/error.t" or die $@ || $!;
 
 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Params-Classify-0.013/t/pod_cvg_pp.t 
new/Params-Classify-0.015/t/pod_cvg_pp.t
--- old/Params-Classify-0.013/t/pod_cvg_pp.t    2010-11-16 21:35:47.000000000 
+0100
+++ new/Params-Classify-0.015/t/pod_cvg_pp.t    2017-07-29 16:53:01.000000000 
+0200
@@ -1,7 +1,7 @@
 use warnings;
 use strict;
 
-do "t/setup_pp.pl" or die $@ || $!;
-do "t/pod_cvg.t" or die $@ || $!;
+do "./t/setup_pp.pl" or die $@ || $!;
+do "./t/pod_cvg.t" or die $@ || $!;
 
 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Params-Classify-0.013/t/ref_pp.t 
new/Params-Classify-0.015/t/ref_pp.t
--- old/Params-Classify-0.013/t/ref_pp.t        2010-11-16 21:35:47.000000000 
+0100
+++ new/Params-Classify-0.015/t/ref_pp.t        2017-07-29 16:53:01.000000000 
+0200
@@ -1,7 +1,7 @@
 use warnings;
 use strict;
 
-do "t/setup_pp.pl" or die $@ || $!;
-do "t/ref.t" or die $@ || $!;
+do "./t/setup_pp.pl" or die $@ || $!;
+do "./t/ref.t" or die $@ || $!;
 
 1;

++++++ cpanspec.yml ++++++
---
#description_paragraphs: 3
#description: |-
#  override description from CPAN
#summary: override summary from CPAN
#no_testing: broken upstream
#sources:
#  - source1
#  - source2
#patches:
#  foo.patch: -p1
#  bar.patch:
#preamble: |-
# BuildRequires:  gcc-c++
#post_prep: |-
# hunspell=`pkg-config --libs hunspell | sed -e 's,-l,,; s,  *,,g'`
# sed -i -e "s,hunspell-X,$hunspell," t/00-prereq.t Makefile.PL 
#post_build: |-
# rm unused.files
#post_install: |-
# sed on %{name}.files
#license: SUSE-NonFree
#skip_noarch: 1
#custom_build: |-
#./Build build flags=%{?_smp_mflags} --myflag
#custom_test: |-
#startserver && make test
#ignore_requires: Bizarre::Module

Reply via email to