Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package perl-Exporter-Tiny for 
openSUSE:Factory checked in at 2022-11-25 13:11:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Exporter-Tiny (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Exporter-Tiny.new.1597 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Exporter-Tiny"

Fri Nov 25 13:11:17 2022 rev:12 rq:1037846 version:1.006000

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Exporter-Tiny/perl-Exporter-Tiny.changes    
2022-11-08 10:53:54.977586566 +0100
+++ 
/work/SRC/openSUSE:Factory/.perl-Exporter-Tiny.new.1597/perl-Exporter-Tiny.changes
  2022-11-25 13:11:24.619764008 +0100
@@ -1,0 +2,14 @@
+Tue Nov 22 03:06:27 UTC 2022 - Tina Müller <timueller+p...@suse.de>
+
+- updated to 1.006000
+   see /usr/share/doc/packages/perl-Exporter-Tiny/Changes
+
+  1.006000     2022-11-21
+   [ Packaging ]
+   - Stable version number.
+  1.005_000    2022-10-17
+   - Introduced lexical exporter support on Perl 5.11.2+ using the
+     Lexical::Var module.
+   - Refactored the Perl 5.37.2+ lexical exporter support.
+
+-------------------------------------------------------------------

Old:
----
  Exporter-Tiny-1.004004.tar.gz

New:
----
  Exporter-Tiny-1.006000.tar.gz

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

Other differences:
------------------
++++++ perl-Exporter-Tiny.spec ++++++
--- /var/tmp/diff_new_pack.JtJBZl/_old  2022-11-25 13:11:25.111766756 +0100
+++ /var/tmp/diff_new_pack.JtJBZl/_new  2022-11-25 13:11:25.115766778 +0100
@@ -18,7 +18,7 @@
 
 %define cpan_name Exporter-Tiny
 Name:           perl-Exporter-Tiny
-Version:        1.004004
+Version:        1.006000
 Release:        0
 License:        Artistic-1.0 OR GPL-1.0-or-later
 Summary:        An exporter with the features of Sub::Exporter but only core 
dependencies

++++++ Exporter-Tiny-1.004004.tar.gz -> Exporter-Tiny-1.006000.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Exporter-Tiny-1.004004/COPYRIGHT 
new/Exporter-Tiny-1.006000/COPYRIGHT
--- old/Exporter-Tiny-1.004004/COPYRIGHT        2022-10-15 13:45:22.000000000 
+0200
+++ new/Exporter-Tiny-1.006000/COPYRIGHT        2022-11-21 11:50:58.000000000 
+0100
@@ -3,17 +3,6 @@
 Upstream-Contact: Toby Inkster (TOBYINK) <toby...@cpan.org>
 Source: https://metacpan.org/release/Exporter-Tiny
 
-Files: NEWS
- TODO
- inc/Test/Fatal.pm
- inc/Test/Requires.pm
- inc/Try/Tiny.pm
- inc/archaic/Test/Builder/Module.pm
- inc/archaic/Test/Builder/Tester.pm
- inc/archaic/Test/Builder/Tester/Color.pm
-Copyright: Unknown
-License: Unknown
-
 Files: lib/Exporter/Tiny/Manual/Etc.pod
  lib/Exporter/Tiny/Manual/Exporting.pod
  lib/Exporter/Tiny/Manual/Importing.pod
@@ -25,6 +14,17 @@
 Copyright: This software is copyright (c) 2013-2014, 2017 by Toby Inkster.
 License: GPL-1.0+ or Artistic-1.0
 
+Files: NEWS
+ TODO
+ inc/Test/Fatal.pm
+ inc/Test/Requires.pm
+ inc/Try/Tiny.pm
+ inc/archaic/Test/Builder/Module.pm
+ inc/archaic/Test/Builder/Tester.pm
+ inc/archaic/Test/Builder/Tester/Color.pm
+Copyright: Unknown
+License: Unknown
+
 Files: lib/Exporter/Shiny.pm
  t/05shiny.t
  t/06notwant.t
@@ -63,6 +63,11 @@
 Copyright: This software is copyright (c) 2018 by Toby Inkster.
 License: GPL-1.0+ or Artistic-1.0
 
+Files: dist.ini
+ examples/Example/Exporter.pm
+Copyright: Copyright 2013 Toby Inkster.
+License: GPL-1.0+ or Artistic-1.0
+
 Files: inc/archaic/Test/More.pm
  inc/archaic/Test/Simple.pm
 Copyright: Copyright 2001-2008 by Michael G Schwern <schw...@pobox.com>.
@@ -73,16 +78,6 @@
 Copyright: This software is copyright (c) 2013-2014, 2017, 2022 by Toby 
Inkster.
 License: GPL-1.0+ or Artistic-1.0
 
-Files: dist.ini
- examples/Example/Exporter.pm
-Copyright: Copyright 2013 Toby Inkster.
-License: GPL-1.0+ or Artistic-1.0
-
-Files: inc/archaic/Test/Builder/IO/Scalar.pm
-Copyright: Copyright (c) 1996 by Eryq.  All rights reserved.
- Copyright (c) 1999,2001 by ZeeGee Software Inc.  All rights reserved.
-License: GPL-1.0+ or Artistic-1.0
-
 Files: inc/archaic/Test/Builder.pm
 Copyright: Copyright 2002-2008 by chromatic <chroma...@wgz.org> and.
 License: GPL-1.0+ or Artistic-1.0
@@ -91,6 +86,11 @@
 Copyright: None
 License: public-domain
 
+Files: inc/archaic/Test/Builder/IO/Scalar.pm
+Copyright: Copyright (c) 1996 by Eryq.  All rights reserved.
+ Copyright (c) 1999,2001 by ZeeGee Software Inc.  All rights reserved.
+License: GPL-1.0+ or Artistic-1.0
+
 License: Artistic-1.0
  This software is Copyright (c) 2022 by the copyright holder(s).
  
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Exporter-Tiny-1.004004/Changes 
new/Exporter-Tiny-1.006000/Changes
--- old/Exporter-Tiny-1.004004/Changes  2022-10-15 13:45:22.000000000 +0200
+++ new/Exporter-Tiny-1.006000/Changes  2022-11-21 11:50:58.000000000 +0100
@@ -6,6 +6,17 @@
 Bug tracker:  <https://github.com/tobyink/p5-exporter-tiny/issues>
 Maintainer:   Toby Inkster (TOBYINK) <toby...@cpan.org>
 
+1.006000       2022-11-21
+
+ [ Packaging ]
+ - Stable version number.
+
+1.005_000      2022-10-17
+
+ - Introduced lexical exporter support on Perl 5.11.2+ using the
+   Lexical::Var module.
+ - Refactored the Perl 5.37.2+ lexical exporter support.
+
 1.004004       2022-10-15
 
  [ Documentation ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Exporter-Tiny-1.004004/META.json 
new/Exporter-Tiny-1.006000/META.json
--- old/Exporter-Tiny-1.004004/META.json        2022-10-15 13:45:22.000000000 
+0200
+++ new/Exporter-Tiny-1.006000/META.json        2022-11-21 11:50:58.000000000 
+0100
@@ -48,11 +48,11 @@
    "provides" : {
       "Exporter::Shiny" : {
          "file" : "lib/Exporter/Shiny.pm",
-         "version" : "1.004004"
+         "version" : "1.006000"
       },
       "Exporter::Tiny" : {
          "file" : "lib/Exporter/Tiny.pm",
-         "version" : "1.004004"
+         "version" : "1.006000"
       }
    },
    "release_status" : "stable",
@@ -72,6 +72,6 @@
       "x_IRC" : "irc://irc.perl.org/#moops",
       "x_identifier" : 
"http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/project";
    },
-   "version" : "1.004004",
+   "version" : "1.006000",
    "x_serialization_backend" : "JSON::PP version 4.09"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Exporter-Tiny-1.004004/META.yml 
new/Exporter-Tiny-1.006000/META.yml
--- old/Exporter-Tiny-1.004004/META.yml 2022-10-15 13:45:22.000000000 +0200
+++ new/Exporter-Tiny-1.006000/META.yml 2022-11-21 11:50:58.000000000 +0100
@@ -25,10 +25,10 @@
 provides:
   Exporter::Shiny:
     file: lib/Exporter/Shiny.pm
-    version: '1.004004'
+    version: '1.006000'
   Exporter::Tiny:
     file: lib/Exporter/Tiny.pm
-    version: '1.004004'
+    version: '1.006000'
 requires:
   perl: '5.006001'
 resources:
@@ -38,5 +38,5 @@
   homepage: https://metacpan.org/release/Exporter-Tiny
   license: http://dev.perl.org/licenses/
   repository: git://github.com/tobyink/p5-exporter-tiny.git
-version: '1.004004'
+version: '1.006000'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Exporter-Tiny-1.004004/Makefile.PL 
new/Exporter-Tiny-1.006000/Makefile.PL
--- old/Exporter-Tiny-1.004004/Makefile.PL      2022-10-15 13:45:22.000000000 
+0200
+++ new/Exporter-Tiny-1.006000/Makefile.PL      2022-11-21 11:50:58.000000000 
+0100
@@ -25,8 +25,8 @@
                         },
                       },
   "provides"       => {
-                        "Exporter::Shiny" => { file => 
"lib/Exporter/Shiny.pm", version => 1.004004 },
-                        "Exporter::Tiny"  => { file => "lib/Exporter/Tiny.pm", 
version => 1.004004 },
+                        "Exporter::Shiny" => { file => 
"lib/Exporter/Shiny.pm", version => "1.006000" },
+                        "Exporter::Tiny"  => { file => "lib/Exporter/Tiny.pm", 
version => "1.006000" },
                       },
   "release_status" => "stable",
   "resources"      => {
@@ -41,14 +41,29 @@
                         x_identifier => 
"http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/project";,
                         x_IRC        => "irc://irc.perl.org/#moops",
                       },
-  "version"        => 1.004004,
+  "version"        => "1.006000",
 };
 
 my %dynamic_config;
 do {
-# idk, this should be automatic or summint? put it in explicitly.
-$meta->{prereqs}{runtime}{requires}{'Test::More'} = '0.47'
-       if $] < 5.006002;
+       my $prereq_type = 'recommends';
+
+       if ( $ENV{CI}
+       and defined $ENV{GITHUB_REPOSITORY}
+       and $ENV{GITHUB_REPOSITORY} eq 'tobyink/p5-exporter-tiny' ) {
+               $prereq_type = 'requires';
+       }
+
+       if ( $] ge 5.011002 and $] lt 5.021007 ) {
+               $meta->{prereqs}{runtime}{$prereq_type}{'Lexical::Var'} = '0';
+       }
+       elsif ( $] ge 5.018000 and $] lt 5.037002 ) {
+               
$meta->{prereqs}{runtime}{$prereq_type}{'Alt::Lexical::Var::ButSupportModernPerl'}
 = '0.001';
+       }
+
+       # idk, this should be automatic or summint? put it in explicitly.
+       $meta->{prereqs}{runtime}{requires}{'Test::More'} = '0.47'
+               if $] lt 5.006002;
 
 };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Exporter-Tiny-1.004004/SIGNATURE 
new/Exporter-Tiny-1.006000/SIGNATURE
--- old/Exporter-Tiny-1.004004/SIGNATURE        2022-10-15 13:45:22.000000000 
+0200
+++ new/Exporter-Tiny-1.006000/SIGNATURE        2022-11-21 11:50:58.000000000 
+0100
@@ -14,20 +14,20 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: RIPEMD160
 
-SHA256 62fe07b4cdd6d54664663e0d02654ff9c1d5e0e66c3a8780db17af4be6dfa48e 
COPYRIGHT
+SHA256 5b2e7652175d557f7b138a7f28a43858f728f83d24ca4a090f2a1841a7e1d1b4 
COPYRIGHT
 SHA256 5124359bbc1eb6fbc98496e82c9ebd0db246aaa07059f4cd28bd3174f6352b6d CREDITS
-SHA256 6a4fe8d19c3fe4ad2594711453c4812c03b104ed16e863241a521d964558aabf Changes
+SHA256 8e76e52edfc623597cb6cfa33e30da04afce9a5489951340e4267c99372af30d Changes
 SHA256 2f314c303b24f03c1ffbc54001a90eb7d50ebe724a60b2fe4f2f6e42e5170c1d INSTALL
 SHA256 a4f85c6f4d6e8bdd37b7ab08013e3e3bee1fe8e910e20f8f54d5025ffe40f384 LICENSE
 SHA256 db033ca38e844b9406a63a6c90e7e4df7c0f11fefc9fe42ff52ef5ee761eccab 
MANIFEST
-SHA256 312cd4bdfbfc50901264a0f9ddc062f4de61ebd2d3ef4bf57490d266f6ee4b12 
META.json
-SHA256 6242cacb84ae39c8bbbab38aef9d7661972baf3d07c0f9ebb930d4ea5b8f37e5 
META.yml
-SHA256 982104c46fcdc4fd019b5dae31843ffae87e614e93e7fcc1aa74c1de07fa41c9 
Makefile.PL
+SHA256 0ff65bb71ae9c4b2d5c2ab850ed377e97541c2bb8b5bdc6a92424f5aeb59e40f 
META.json
+SHA256 58c31ce2398ba9ea195e7de9eed2893076b93929cf1653bf46ea7ca23be809a8 
META.yml
+SHA256 46aaf6be998a5d65bbdda2a766c2de479bfe9437d56e668c6609bf6533d59a7d 
Makefile.PL
 SHA256 47b10ed37d8da7c65245ffe5773cf59654f1545cc0e2fbbfa4f1e25f67bb0ff3 NEWS
 SHA256 0d2ea0e8456261f541cb039ee38d7994b28c989f2284a7fbb714bf7bf7952536 README
 SHA256 846fcc88a04c5b7cd65ec32c5f842f8b339d8fc28c1cc75f36fa10af809353e2 TODO
 SHA256 43562b3806635eddcf6e7ea7cf6edc690a7f52cca15e4fc76593d144fd450aa6 
dist.ini
-SHA256 36684fcd38826de692133fa98115f79895d4a845285da13531fc913ed4ede517 
doap.ttl
+SHA256 9974faba5e187957bb68211aea9e31bfce176772ce3d0406b810b0ecfd26d9d9 
doap.ttl
 SHA256 bbe194f6f9a9832847d82b7cb8b5d5f16c4af255bcef0d25f90992ff268462ea 
examples/Example/Exporter.pm
 SHA256 c361b86d13c8fdfbe75840d11dbe6af488e44af27b0edb80fd1eea28c8e935d4 
inc/Test/Fatal.pm
 SHA256 b8b2edfbb16b30d0e3b212a413c55a8de7ce929591d0a1029b70c47c8c0be11a 
inc/Test/Requires.pm
@@ -39,11 +39,11 @@
 SHA256 ae528d9fc2962793e98af13f4d4e802fbf8d78b17b1c27a860728a16e8bf4a3a 
inc/archaic/Test/Builder/Tester/Color.pm
 SHA256 764f3ed1e0a314e7e9f8d803dff3d894e8c572e2a128d7ce14f2a80268e50543 
inc/archaic/Test/More.pm
 SHA256 c4fd1410a9bd85a0e7700de08c1614fc5928c0d02151ba1ec7d06bd56407e0d5 
inc/archaic/Test/Simple.pm
-SHA256 d534926eb57d285ce97b9620b42f48493830f0441b6323449859d9a552b645fc 
lib/Exporter/Shiny.pm
-SHA256 ce602a38d855b81b1ded16d1d7199228894d5ecd114deb5f9012793af65ebcea 
lib/Exporter/Tiny.pm
+SHA256 8579cdf8f8c9abea973c48ef2e3d9f85b0a04596455ffcc16c23146b9da511c2 
lib/Exporter/Shiny.pm
+SHA256 1b6aed8d6c2c37d242743bad0d078b1ebc7221e8e94379df4ea11395834ff142 
lib/Exporter/Tiny.pm
 SHA256 3e080e8653b3b717c52dad07fcfc84c31766a9034c9c3b881ff41301a19b378a 
lib/Exporter/Tiny/Manual/Etc.pod
 SHA256 293f6a8c2d4dacb49b775b24547a2f4845487bd6549b08a82f06dd89281111c8 
lib/Exporter/Tiny/Manual/Exporting.pod
-SHA256 c187110096953b6629df1cc4aef1eae17625be5ca1dd75d388da1aea43c7fb4e 
lib/Exporter/Tiny/Manual/Importing.pod
+SHA256 c76e40b4e8d3f5f87048e5c4b70da2acf121f8b05df761967a4f97d8da48e579 
lib/Exporter/Tiny/Manual/Importing.pod
 SHA256 ce8c6c3a5843fe09ea48d3d236c92d9de9ebb1e1c5f0f84d63f712008ba4e205 
lib/Exporter/Tiny/Manual/QuickStart.pod
 SHA256 4d3896ea5efe37ef1d7ed52c4da53c49fcf00cf504d3db1d69cbd1f2755dbee2 
t/01basic.t
 SHA256 1e979b56fb80efb07094f1172b63e35a90fd1c8291ee0e374d619a4d75465d24 
t/02renaming.t
@@ -58,13 +58,13 @@
 SHA256 b0fcc16f86d948934caf5edf9fe09360a5eb8e60dd15d79b3b31d7f259d1edef 
t/11noncode.t
 SHA256 2488f918037f954ecec64a28c8a9e2bcb3ea9a9a7fe092fdcfd1c3bdd11e3f51 
t/12noncodegenerators.t
 SHA256 47728bc580e310a5c3c3c61fb6be7a450ebdf6aa420bbf7c5b1ae514223e533f 
t/13doesntexist.t
-SHA256 82953c33b12d287478d5b5b120cdedb43b71d2eec311eef91ae0a77fc3451732 
t/14lexical.t
+SHA256 d816f8d6bf77e42f3f8e34a8f0b6c32bb585c12f66cb27c433c9a0393d64f7a9 
t/14lexical.t
 SHA256 70029832b2fbebf24679c78fd2a8be2f993ecbfa6f8f86185d1fb6d7118ff1ed 
t/15nonhashvalue.t
 SHA256 e1a41fa7830088d375109ef40be52c3a17255f06e46e077a6c6a9276f47c6485 
t/gh-8.t
 SHA256 59f9182ed1b30f84045947a2713328e62275e922d083933e2c72fb381d710306 
t/gh-9.t
 -----BEGIN PGP SIGNATURE-----
 
-iF0EAREDAB0WIQRVJKj/4+s6z4WzNujOv4Eoaip9OQUCY0qdUgAKCRDOv4Eoaip9
-OQxDAJsFMB1eXxAZmr2mL35prya/DzSsPQCfVhiMoRPSq7UqUxzLSalbLqT5b7o=
-=9WV0
+iF0EAREDAB0WIQRVJKj/4+s6z4WzNujOv4Eoaip9OQUCY3tYEgAKCRDOv4Eoaip9
+OQlNAJ42t4sMzfORbQGKd8btQzpa54YroQCfWM7h+AD6Xi/RbKznAeMLSzNagoU=
+=UR39
 -----END PGP SIGNATURE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Exporter-Tiny-1.004004/doap.ttl 
new/Exporter-Tiny-1.006000/doap.ttl
--- old/Exporter-Tiny-1.004004/doap.ttl 2022-10-15 13:45:22.000000000 +0200
+++ new/Exporter-Tiny-1.006000/doap.ttl 2022-11-21 11:50:58.000000000 +0100
@@ -27,7 +27,7 @@
        doap:maintainer      <http://purl.org/NET/cpan-uri/person/tobyink>;
        doap:name            "Exporter-Tiny";
        doap:programming-language "Perl";
-       doap:release         
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-026>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-029_01>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-030>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-031_01>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-032>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-033_01>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-034>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-035_01>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-035_02>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-036>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-037_01>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-037_02>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-037_03>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-038>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-039_01>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-040>, <htt
 p://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-041_01>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-041_02>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-042>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-043_01>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-043_02>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-044>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_1-000000>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_1-001_000>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_1-001_001>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_1-002000>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_1-002001>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_1-002002>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_1-003_000>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_1-003_001>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_1-003_002>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_1-004000>, <http://pu
 rl.org/NET/cpan-uri/dist/Exporter-Tiny/v_1-004001>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_1-004002>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_1-004003>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_1-004004>;
+       doap:release         
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-026>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-029_01>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-030>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-031_01>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-032>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-033_01>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-034>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-035_01>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-035_02>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-036>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-037_01>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-037_02>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-037_03>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-038>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-039_01>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-040>, <htt
 p://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-041_01>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-041_02>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-042>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-043_01>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-043_02>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_0-044>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_1-000000>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_1-001_000>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_1-001_001>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_1-002000>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_1-002001>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_1-002002>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_1-003_000>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_1-003_001>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_1-003_002>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_1-004000>, <http://pu
 rl.org/NET/cpan-uri/dist/Exporter-Tiny/v_1-004001>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_1-004002>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_1-004003>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_1-004004>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_1-005_000>, 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_1-006000>;
        doap:repository      [
                a doap:GitRepository;
                doap:browse <https://github.com/tobyink/p5-exporter-tiny>;
@@ -599,6 +599,39 @@
        doap:file-release    
<http://backpan.cpan.org/authors/id/T/TO/TOBYINK/Exporter-Tiny-1.004004.tar.gz>;
        doap:revision        "1.004004"^^xsd:string.
 
+<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_1-005_000>
+       a                    cpan-uri:DeveloperRelease, doap:Version;
+       dc:identifier        "Exporter-Tiny-1.005_000"^^xsd:string;
+       dc:issued            "2022-10-17"^^xsd:date;
+       doap-changeset:changeset [
+               doap-changeset:item [
+                       a doap-changeset:Change;
+                       rdfs:label "Refactored the Perl 5.37.2+ lexical 
exporter support.";
+               ], [
+                       a doap-changeset:Change;
+                       rdfs:label "Introduced lexical exporter support on Perl 
5.11.2+ using the Lexical::Var module.";
+               ];
+               doap-changeset:versus 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_1-004004>;
+       ];
+       doap-changeset:released-by 
<http://purl.org/NET/cpan-uri/person/tobyink>;
+       doap:file-release    
<http://backpan.cpan.org/authors/id/T/TO/TOBYINK/Exporter-Tiny-1.005_000.tar.gz>;
+       doap:revision        "1.005_000"^^xsd:string.
+
+<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_1-006000>
+       a                    doap:Version;
+       dc:identifier        "Exporter-Tiny-1.006000"^^xsd:string;
+       dc:issued            "2022-11-21"^^xsd:date;
+       doap-changeset:changeset [
+               doap-changeset:item [
+                       a doap-changeset:Packaging;
+                       rdfs:label "Stable version number.";
+               ];
+               doap-changeset:versus 
<http://purl.org/NET/cpan-uri/dist/Exporter-Tiny/v_1-005_000>;
+       ];
+       doap-changeset:released-by 
<http://purl.org/NET/cpan-uri/person/tobyink>;
+       doap:file-release    
<http://backpan.cpan.org/authors/id/T/TO/TOBYINK/Exporter-Tiny-1.006000.tar.gz>;
+       doap:revision        "1.006000"^^xsd:string.
+
 <http://purl.org/NET/cpan-uri/dist/Type-Tiny/project>
        a                    doap:Project;
        dc:contributor       <http://purl.org/NET/cpan-uri/person/tobyink>;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Exporter-Tiny-1.004004/lib/Exporter/Shiny.pm 
new/Exporter-Tiny-1.006000/lib/Exporter/Shiny.pm
--- old/Exporter-Tiny-1.004004/lib/Exporter/Shiny.pm    2022-10-15 
13:45:22.000000000 +0200
+++ new/Exporter-Tiny-1.006000/lib/Exporter/Shiny.pm    2022-11-21 
11:50:58.000000000 +0100
@@ -7,7 +7,7 @@
 use Exporter::Tiny ();
 
 our $AUTHORITY = 'cpan:TOBYINK';
-our $VERSION   = '1.004004';
+our $VERSION   = '1.006000';
 
 sub import {
        my $me     = shift;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Exporter-Tiny-1.004004/lib/Exporter/Tiny/Manual/Importing.pod 
new/Exporter-Tiny-1.006000/lib/Exporter/Tiny/Manual/Importing.pod
--- old/Exporter-Tiny-1.004004/lib/Exporter/Tiny/Manual/Importing.pod   
2022-10-15 13:45:22.000000000 +0200
+++ new/Exporter-Tiny-1.006000/lib/Exporter/Tiny/Manual/Importing.pod   
2022-11-21 11:50:58.000000000 +0100
@@ -157,35 +157,12 @@
 
 =head2 Lexical subs on Perl older than 5.37.2
 
-There is this L<Sub::Exporter::Lexical> thing that was designed as a
-plugin for L<Sub::Exporter>, but Exporter::Tiny's API is close enough
-that it will work. Do you remember that global options hash? Just
-use that to tell Exporter::Tiny to use an alternative sub installer.
+If you install L<Lexical::Var>, then lexical imports should work on versions
+of Perl as old as 5.12.
 
-   {
-      use Sub::Exporter::Lexical lexical_installer => { -as => "lex" };
-      use MyUtils { installer => lex }, "frobnicate";
-      
-      frobnicate(...);  # ok
-   }
-   
-   frobnicate(...);  # not ok
-
-Another way to do lexical functions is to import a function into a
-scalar variable:
-
-   my $func;
-   use MyUtils "frobnicate" => { -as => \$func };
-   
-   $func->(...);
-
-You can even provide a hashref to put all imported functions into as
-part of that global options hash I mentioned earlier.
-
-   my %funcs;
-   use MyUtils { into => \%funcs }, "frobnicate";
-   
-   $funcs{frobnicate}->(...);
+That module does have issues that prevent it from being installed on Perl
+5.22+. The L<Alt::Lexical::Var::ButSupportModernPerl> module includes patches
+to fix it.
 
 =head2 Unimporting
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Exporter-Tiny-1.004004/lib/Exporter/Tiny.pm 
new/Exporter-Tiny-1.006000/lib/Exporter/Tiny.pm
--- old/Exporter-Tiny-1.004004/lib/Exporter/Tiny.pm     2022-10-15 
13:45:22.000000000 +0200
+++ new/Exporter-Tiny-1.006000/lib/Exporter/Tiny.pm     2022-11-21 
11:50:58.000000000 +0100
@@ -5,9 +5,18 @@
 use warnings; no warnings qw(void once uninitialized numeric redefine);
 
 our $AUTHORITY = 'cpan:TOBYINK';
-our $VERSION   = '1.004004';
+our $VERSION   = '1.006000';
 our @EXPORT_OK = qw< mkopt mkopt_hash _croak _carp >;
 
+BEGIN {
+       *_HAS_NATIVE_LEXICAL_SUB = ( $] ge '5.037002' )
+               ? sub () { !!1 }
+               : sub () { !!0 };
+       *_HAS_MODULE_LEXICAL_SUB = ( $] ge '5.011002' and eval('require 
Lexical::Sub') )
+               ? sub () { !!1 }
+               : sub () { !!0 };
+};
+
 sub _croak ($;@) { require Carp; my $fmt = shift; @_ = sprintf($fmt, @_); goto 
\&Carp::croak }
 sub _carp  ($;@) { require Carp; my $fmt = shift; @_ = sprintf($fmt, @_); goto 
\&Carp::carp }
 
@@ -46,7 +55,14 @@
 {
        my $class = shift;
        my $global_opts = +{ @_ && ref($_[0]) eq q(HASH) ? %{+shift} : () };
-       $global_opts->{into} = caller unless exists $global_opts->{into};
+       
+       if ( defined $global_opts->{into} and $global_opts->{into} eq 
'-lexical' ) {
+               $global_opts->{lexical} = 1;
+               delete $global_opts->{into};
+       }
+       if ( not defined $global_opts->{into} ) {
+               $global_opts->{into} = caller;
+       }
        
        my @want;
        my %not_want; $global_opts->{not} = \%not_want;
@@ -54,11 +70,13 @@
        my $opts = mkopt(\@args);
        $class->$_process_optlist($global_opts, $opts, \@want, \%not_want);
        
+       $global_opts->{installer} ||= $class->_exporter_lexical_installer( 
$global_opts )
+               if $global_opts->{lexical};
+       
        my $permitted = $class->_exporter_permitted_regexp($global_opts);
        $class->_exporter_validate_opts($global_opts);
        
-       for my $wanted (@want)
-       {
+       for my $wanted (@want) {
                next if $not_want{$wanted->[0]};
                
                my %symbols = $class->_exporter_expand_sub(@$wanted, 
$global_opts, $permitted);
@@ -71,9 +89,16 @@
 {
        my $class = shift;
        my $global_opts = +{ @_ && ref($_[0]) eq q(HASH) ? %{+shift} : () };
-       $global_opts->{into} = caller unless exists $global_opts->{into};
        $global_opts->{is_unimport} = 1;
        
+       if ( defined $global_opts->{into} and $global_opts->{into} eq 
'-lexical' ) {
+               $global_opts->{lexical} = 1;
+               delete $global_opts->{into};
+       }
+       if ( not defined $global_opts->{into} ) {
+               $global_opts->{into} = caller;
+       }
+       
        my @want;
        my %not_want; $global_opts->{not} = \%not_want;
        my @args = do { our %TRACKED; @_ ? @_ : 
keys(%{$TRACKED{$class}{$global_opts->{into}}}) };
@@ -104,6 +129,23 @@
        }
 }
 
+# Returns a coderef suitable to be used as a sub installer for lexical imports.
+#
+sub _exporter_lexical_installer {
+       _HAS_NATIVE_LEXICAL_SUB and return sub {
+               my ( $sigilname, $sym ) = @{ $_[1] };
+               no warnings ( $] ge '5.037002' ? 'experimental::builtin' : () );
+               builtin::export_lexically( $sigilname, $sym );
+       };
+       _HAS_MODULE_LEXICAL_SUB and return sub {
+               my ( $sigilname, $sym ) = @{ $_[1] };
+               ( $sigilname =~ /^\w/ )
+                       ? 'Lexical::Sub'->import( $sigilname, $sym )
+                       : 'Lexical::Var'->import( $sigilname, $sym );
+       };
+       _croak( 'Lexical export requires Perl 5.37.2+ for native support, or 
Perl 5.11.2+ with the Lexical::Sub module' );
+}
+
 # Called once per import/unimport, passed the "global" import options.
 # Expected to validate the options and carp or croak if there are problems.
 # Can also take the opportunity to do other stuff if needed.
@@ -268,17 +310,7 @@
        
        my $into      = $globals->{into};
        my $installer = $globals->{installer} || $globals->{exporter};
-
-       if ( $into eq '-lexical' or $globals->{lexical} ) {
-               $] ge '5.037002'
-                       or _croak( 'Lexical export requires Perl 5.37.2 or 
above' );
-               $installer ||= sub {
-                       my ( $sigilname, $sym ) = @{ $_[1] };
-                       no warnings ( $] ge '5.037002' ? 
'experimental::builtin' : () );
-                       builtin::export_lexically( $sigilname, $sym );
-               };
-       }
-
+       
        $name =
                ref    $globals->{as}      ? $globals->{as}->($name) :
                ref    $value_hash->{-as}  ? $value_hash->{-as}->($name) :
@@ -301,21 +333,23 @@
                $name = "$prefix$name$suffix";
        }
        
-       my $sigilname = $sigil eq '&' ? $name : "$sigil$name";
+       my $sigilname = $sigil eq '&' ? $name : ( $sigil . $name );
        
 #      if ({qw/$ SCALAR @ ARRAY % HASH & CODE/}->{$sigil} ne ref($sym)) {
 #              warn $sym;
 #              warn $sigilname;
 #              _croak("Reference type %s does not match sigil %s", ref($sym), 
$sigil);
 #      }
-               
+       
        return ($$name = $sym)              if ref($name) eq q(SCALAR);
        return ($into->{$sigilname} = $sym) if ref($into) eq q(HASH);
        
        no strict qw(refs);
        our %TRACKED;
        
-       if (ref($sym) eq 'CODE' and exists &{"$into\::$name"} and 
\&{"$into\::$name"} != $sym)
+       if ( ref($sym) eq 'CODE'
+       and ref($into) ? exists($into->{$name}) : exists(&{"$into\::$name"})
+       and $sym != ( ref($into) ? $into->{$name} : \&{"$into\::$name"} ) )
        {
                my ($level) = grep defined, $value_hash->{-replace}, 
$globals->{replace}, q(0);
                my $action = {
@@ -335,10 +369,9 @@
                
                $action->(
                        $action == \&_croak
-                               ? "Refusing to overwrite existing sub '%s::%s' 
with sub '%s' exported by %s"
-                               : "Overwriting existing sub '%s::%s' with sub 
'%s' exported by %s",
-                       $into,
-                       $name,
+                               ? "Refusing to overwrite existing sub '%s' with 
sub '%s' exported by %s"
+                               : "Overwriting existing sub '%s' with sub '%s' 
exported by %s",
+                       ref($into) ? $name : "$into\::$name",
                        $_[0],
                        $class,
                );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Exporter-Tiny-1.004004/t/14lexical.t 
new/Exporter-Tiny-1.006000/t/14lexical.t
--- old/Exporter-Tiny-1.004004/t/14lexical.t    2022-10-15 13:45:22.000000000 
+0200
+++ new/Exporter-Tiny-1.006000/t/14lexical.t    2022-11-21 11:50:58.000000000 
+0100
@@ -22,7 +22,13 @@
 use strict;
 use warnings;
 use Test::More;
-use Test::Requires '5.037002';
+use Exporter::Tiny ();
+
+BEGIN {
+       Exporter::Tiny::_HAS_NATIVE_LEXICAL_SUB or
+       Exporter::Tiny::_HAS_MODULE_LEXICAL_SUB or
+       plan skip_all => "This version of Perl does not support lexical 
imports";
+};
 
 BEGIN {
        package My::Utils;

Reply via email to