Hello community,

here is the log from the commit of package perl-Package-Stash-XS for 
openSUSE:Factory checked in at 2013-07-30 14:03:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Package-Stash-XS (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Package-Stash-XS.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Package-Stash-XS"

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/perl-Package-Stash-XS/perl-Package-Stash-XS.changes  
    2013-06-13 18:19:15.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.perl-Package-Stash-XS.new/perl-Package-Stash-XS.changes
 2013-07-30 14:03:46.000000000 +0200
@@ -1,0 +2,7 @@
+Sat Jul 27 11:58:38 UTC 2013 - [email protected]
+
+- updated to 0.28
+      - fix test issue (Graham Knop)
+      - handle magic more correctly in add_symbol and get_or_add_symbol
+
+-------------------------------------------------------------------

Old:
----
  Package-Stash-XS-0.26.tar.gz

New:
----
  Package-Stash-XS-0.28.tar.gz

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

Other differences:
------------------
++++++ perl-Package-Stash-XS.spec ++++++
--- /var/tmp/diff_new_pack.DVeStO/_old  2013-07-30 14:03:47.000000000 +0200
+++ /var/tmp/diff_new_pack.DVeStO/_new  2013-07-30 14:03:47.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           perl-Package-Stash-XS
-Version:        0.26
+Version:        0.28
 Release:        0
 %define cpan_name Package-Stash-XS
 Summary:        faster and more correct implementation of the Package::Stash 
API
@@ -34,6 +34,7 @@
 #BuildRequires: perl(Package::Stash)
 #BuildRequires: perl(Package::Stash::XS)
 #BuildRequires: perl(Test::LeakTrace)
+#BuildRequires: perl(Variable::Magic)
 %{perl_requires}
 
 %description

++++++ Package-Stash-XS-0.26.tar.gz -> Package-Stash-XS-0.28.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Package-Stash-XS-0.26/Changes 
new/Package-Stash-XS-0.28/Changes
--- old/Package-Stash-XS-0.26/Changes   2013-01-04 10:36:41.000000000 +0100
+++ new/Package-Stash-XS-0.28/Changes   2013-07-16 18:17:11.000000000 +0200
@@ -1,5 +1,11 @@
 Revision history for Package-Stash-XS
 
+0.28  2013-07-16
+      - fix test issue (Graham Knop)
+
+0.27  2013-07-15
+      - handle magic more correctly in add_symbol and get_or_add_symbol
+
 0.26  2013-01-04
       - internal refactorings to support Package::Anon stashes - this should
         work now
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Package-Stash-XS-0.26/MANIFEST 
new/Package-Stash-XS-0.28/MANIFEST
--- old/Package-Stash-XS-0.26/MANIFEST  2013-01-04 10:36:41.000000000 +0100
+++ new/Package-Stash-XS-0.28/MANIFEST  2013-07-16 18:17:11.000000000 +0200
@@ -29,6 +29,7 @@
 t/scalar-values.t
 t/stash-deletion.t
 t/synopsis.t
+t/warnings.t
 typemap
 xt/author/leaks-debug.t
 xt/author/leaks.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Package-Stash-XS-0.26/META.json 
new/Package-Stash-XS-0.28/META.json
--- old/Package-Stash-XS-0.26/META.json 2013-01-04 10:36:41.000000000 +0100
+++ new/Package-Stash-XS-0.28/META.json 2013-07-16 18:17:11.000000000 +0200
@@ -1,10 +1,10 @@
 {
    "abstract" : "faster and more correct implementation of the Package::Stash 
API",
    "author" : [
-      "Jesse Luehrs <doy at tozt dot net>"
+      "Jesse Luehrs <[email protected]>"
    ],
    "dynamic_config" : 0,
-   "generated_by" : "Dist::Zilla version 4.300028, CPAN::Meta::Converter 
version 2.120921",
+   "generated_by" : "Dist::Zilla version 4.300034, CPAN::Meta::Converter 
version 2.120921",
    "license" : [
       "perl_5"
    ],
@@ -53,8 +53,7 @@
    "release_status" : "stable",
    "resources" : {
       "bugtracker" : {
-         "mailto" : "[email protected]",
-         "web" : 
"http://rt.cpan.org/Public/Dist/Display.html?Name=Package-Stash-XS";
+         "web" : "https://github.com/doy/package-stash-xs/issues";
       },
       "homepage" : "http://metacpan.org/release/Package-Stash-XS";,
       "repository" : {
@@ -63,10 +62,10 @@
          "web" : "https://github.com/doy/package-stash-xs";
       }
    },
-   "version" : "0.26",
+   "version" : "0.28",
    "x_Dist_Zilla" : {
       "perl" : {
-         "version" : "5.016002"
+         "version" : "5.018000"
       },
       "plugins" : [
          {
@@ -78,87 +77,87 @@
                }
             },
             "name" : "@DOY/TestMoreDoneTesting",
-            "version" : "4.300028"
+            "version" : "4.300034"
          },
          {
             "class" : "Dist::Zilla::Plugin::GatherDir",
             "name" : "@DOY/GatherDir",
-            "version" : "4.300028"
+            "version" : "4.300034"
          },
          {
             "class" : "Dist::Zilla::Plugin::PruneCruft",
             "name" : "@DOY/PruneCruft",
-            "version" : "4.300028"
+            "version" : "4.300034"
          },
          {
             "class" : "Dist::Zilla::Plugin::ManifestSkip",
             "name" : "@DOY/ManifestSkip",
-            "version" : "4.300028"
+            "version" : "4.300034"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaYAML",
             "name" : "@DOY/MetaYAML",
-            "version" : "4.300028"
+            "version" : "4.300034"
          },
          {
             "class" : "Dist::Zilla::Plugin::License",
             "name" : "@DOY/License",
-            "version" : "4.300028"
+            "version" : "4.300034"
          },
          {
             "class" : "Dist::Zilla::Plugin::Readme",
             "name" : "@DOY/Readme",
-            "version" : "4.300028"
+            "version" : "4.300034"
          },
          {
             "class" : "Dist::Zilla::Plugin::RunExtraTests",
             "name" : "@DOY/RunExtraTests",
-            "version" : "0.007"
+            "version" : "0.011"
          },
          {
             "class" : "Dist::Zilla::Plugin::ExecDir",
             "name" : "@DOY/ExecDir",
-            "version" : "4.300028"
+            "version" : "4.300034"
          },
          {
             "class" : "Dist::Zilla::Plugin::ShareDir",
             "name" : "@DOY/ShareDir",
-            "version" : "4.300028"
+            "version" : "4.300034"
          },
          {
             "class" : "Dist::Zilla::Plugin::MakeMaker",
             "name" : "@DOY/MakeMaker",
-            "version" : "4.300028"
+            "version" : "4.300034"
          },
          {
             "class" : "Dist::Zilla::Plugin::Manifest",
             "name" : "@DOY/Manifest",
-            "version" : "4.300028"
+            "version" : "4.300034"
          },
          {
             "class" : "Dist::Zilla::Plugin::TestRelease",
             "name" : "@DOY/TestRelease",
-            "version" : "4.300028"
+            "version" : "4.300034"
          },
          {
             "class" : "Dist::Zilla::Plugin::ConfirmRelease",
             "name" : "@DOY/ConfirmRelease",
-            "version" : "4.300028"
+            "version" : "4.300034"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaConfig",
             "name" : "@DOY/MetaConfig",
-            "version" : "4.300028"
+            "version" : "4.300034"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaJSON",
             "name" : "@DOY/MetaJSON",
-            "version" : "4.300028"
+            "version" : "4.300034"
          },
          {
             "class" : "Dist::Zilla::Plugin::NextRelease",
             "name" : "@DOY/NextRelease",
-            "version" : "4.300028"
+            "version" : "4.300034"
          },
          {
             "class" : "Dist::Zilla::Plugin::CheckChangesHasContent",
@@ -168,7 +167,7 @@
          {
             "class" : "Dist::Zilla::Plugin::PkgVersion",
             "name" : "@DOY/PkgVersion",
-            "version" : "4.300028"
+            "version" : "4.300034"
          },
          {
             "class" : "Dist::Zilla::Plugin::Authority",
@@ -178,12 +177,12 @@
          {
             "class" : "Dist::Zilla::Plugin::PodCoverageTests",
             "name" : "@DOY/PodCoverageTests",
-            "version" : "4.300028"
+            "version" : "4.300034"
          },
          {
             "class" : "Dist::Zilla::Plugin::PodSyntaxTests",
             "name" : "@DOY/PodSyntaxTests",
-            "version" : "4.300028"
+            "version" : "4.300034"
          },
          {
             "class" : "Dist::Zilla::Plugin::NoTabsTests",
@@ -198,7 +197,7 @@
          {
             "class" : "Dist::Zilla::Plugin::Test::Compile",
             "name" : "@DOY/Test::Compile",
-            "version" : "1.112820"
+            "version" : "2.002"
          },
          {
             "class" : "Dist::Zilla::Plugin::Metadata",
@@ -208,27 +207,27 @@
          {
             "class" : "Dist::Zilla::Plugin::MetaResources",
             "name" : "@DOY/MetaResources",
-            "version" : "4.300028"
+            "version" : "4.300034"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Check",
             "name" : "@DOY/Git::Check",
-            "version" : "2.001"
+            "version" : "2.013"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Commit",
             "name" : "@DOY/Git::Commit",
-            "version" : "2.001"
+            "version" : "2.013"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Tag",
             "name" : "@DOY/Git::Tag",
-            "version" : "2.001"
+            "version" : "2.013"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::NextVersion",
             "name" : "@DOY/Git::NextVersion",
-            "version" : "2.001"
+            "version" : "2.013"
          },
          {
             "class" : "Dist::Zilla::Plugin::PodWeaver",
@@ -238,12 +237,12 @@
          {
             "class" : "Dist::Zilla::Plugin::UploadToCPAN",
             "name" : "@DOY/UploadToCPAN",
-            "version" : "4.300028"
+            "version" : "4.300034"
          },
          {
             "class" : "Dist::Zilla::Plugin::AutoPrereqs",
             "name" : "AutoPrereqs",
-            "version" : "4.300028"
+            "version" : "4.300034"
          },
          {
             "class" : "Dist::Zilla::Plugin::Prereqs",
@@ -254,42 +253,47 @@
                }
             },
             "name" : "DevelopRequires",
-            "version" : "4.300028"
+            "version" : "4.300034"
          },
          {
             "class" : "Dist::Zilla::Plugin::PruneFiles",
             "name" : "PruneFiles",
-            "version" : "4.300028"
+            "version" : "4.300034"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::ContributorsFromGit",
+            "name" : "ContributorsFromGit",
+            "version" : "0.006"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":InstallModules",
-            "version" : "4.300028"
+            "version" : "4.300034"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":IncModules",
-            "version" : "4.300028"
+            "version" : "4.300034"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":TestFiles",
-            "version" : "4.300028"
+            "version" : "4.300034"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ExecFiles",
-            "version" : "4.300028"
+            "version" : "4.300034"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ShareFiles",
-            "version" : "4.300028"
+            "version" : "4.300034"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":MainModule",
-            "version" : "4.300028"
+            "version" : "4.300034"
          }
       ],
       "zilla" : {
@@ -297,9 +301,15 @@
          "config" : {
             "is_trial" : "0"
          },
-         "version" : "4.300028"
+         "version" : "4.300034"
       }
    },
-   "x_authority" : "cpan:DOY"
+   "x_authority" : "cpan:DOY",
+   "x_contributors" : [
+      "Dave Rolsky <[email protected]>",
+      "Florian Ragwitz <[email protected]>",
+      "Justin Hunter <[email protected]>",
+      "Tim Bunce <[email protected]>"
+   ]
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Package-Stash-XS-0.26/META.yml 
new/Package-Stash-XS-0.28/META.yml
--- old/Package-Stash-XS-0.26/META.yml  2013-01-04 10:36:41.000000000 +0100
+++ new/Package-Stash-XS-0.28/META.yml  2013-07-16 18:17:11.000000000 +0200
@@ -1,7 +1,7 @@
 ---
 abstract: 'faster and more correct implementation of the Package::Stash API'
 author:
-  - 'Jesse Luehrs <doy at tozt dot net>'
+  - 'Jesse Luehrs <[email protected]>'
 build_requires:
   B: 0
   File::Find: 0
@@ -16,7 +16,7 @@
 configure_requires:
   ExtUtils::MakeMaker: 6.30
 dynamic_config: 0
-generated_by: 'Dist::Zilla version 4.300028, CPAN::Meta::Converter version 
2.120921'
+generated_by: 'Dist::Zilla version 4.300034, CPAN::Meta::Converter version 
2.120921'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -28,13 +28,13 @@
   strict: 0
   warnings: 0
 resources:
-  bugtracker: http://rt.cpan.org/Public/Dist/Display.html?Name=Package-Stash-XS
+  bugtracker: https://github.com/doy/package-stash-xs/issues
   homepage: http://metacpan.org/release/Package-Stash-XS
   repository: git://github.com/doy/package-stash-xs.git
-version: 0.26
+version: 0.28
 x_Dist_Zilla:
   perl:
-    version: 5.016002
+    version: 5.018000
   plugins:
     -
       class: Dist::Zilla::Plugin::Prereqs
@@ -43,71 +43,71 @@
           phase: test
           type: requires
       name: '@DOY/TestMoreDoneTesting'
-      version: 4.300028
+      version: 4.300034
     -
       class: Dist::Zilla::Plugin::GatherDir
       name: '@DOY/GatherDir'
-      version: 4.300028
+      version: 4.300034
     -
       class: Dist::Zilla::Plugin::PruneCruft
       name: '@DOY/PruneCruft'
-      version: 4.300028
+      version: 4.300034
     -
       class: Dist::Zilla::Plugin::ManifestSkip
       name: '@DOY/ManifestSkip'
-      version: 4.300028
+      version: 4.300034
     -
       class: Dist::Zilla::Plugin::MetaYAML
       name: '@DOY/MetaYAML'
-      version: 4.300028
+      version: 4.300034
     -
       class: Dist::Zilla::Plugin::License
       name: '@DOY/License'
-      version: 4.300028
+      version: 4.300034
     -
       class: Dist::Zilla::Plugin::Readme
       name: '@DOY/Readme'
-      version: 4.300028
+      version: 4.300034
     -
       class: Dist::Zilla::Plugin::RunExtraTests
       name: '@DOY/RunExtraTests'
-      version: 0.007
+      version: 0.011
     -
       class: Dist::Zilla::Plugin::ExecDir
       name: '@DOY/ExecDir'
-      version: 4.300028
+      version: 4.300034
     -
       class: Dist::Zilla::Plugin::ShareDir
       name: '@DOY/ShareDir'
-      version: 4.300028
+      version: 4.300034
     -
       class: Dist::Zilla::Plugin::MakeMaker
       name: '@DOY/MakeMaker'
-      version: 4.300028
+      version: 4.300034
     -
       class: Dist::Zilla::Plugin::Manifest
       name: '@DOY/Manifest'
-      version: 4.300028
+      version: 4.300034
     -
       class: Dist::Zilla::Plugin::TestRelease
       name: '@DOY/TestRelease'
-      version: 4.300028
+      version: 4.300034
     -
       class: Dist::Zilla::Plugin::ConfirmRelease
       name: '@DOY/ConfirmRelease'
-      version: 4.300028
+      version: 4.300034
     -
       class: Dist::Zilla::Plugin::MetaConfig
       name: '@DOY/MetaConfig'
-      version: 4.300028
+      version: 4.300034
     -
       class: Dist::Zilla::Plugin::MetaJSON
       name: '@DOY/MetaJSON'
-      version: 4.300028
+      version: 4.300034
     -
       class: Dist::Zilla::Plugin::NextRelease
       name: '@DOY/NextRelease'
-      version: 4.300028
+      version: 4.300034
     -
       class: Dist::Zilla::Plugin::CheckChangesHasContent
       name: '@DOY/CheckChangesHasContent'
@@ -115,7 +115,7 @@
     -
       class: Dist::Zilla::Plugin::PkgVersion
       name: '@DOY/PkgVersion'
-      version: 4.300028
+      version: 4.300034
     -
       class: Dist::Zilla::Plugin::Authority
       name: '@DOY/Authority'
@@ -123,11 +123,11 @@
     -
       class: Dist::Zilla::Plugin::PodCoverageTests
       name: '@DOY/PodCoverageTests'
-      version: 4.300028
+      version: 4.300034
     -
       class: Dist::Zilla::Plugin::PodSyntaxTests
       name: '@DOY/PodSyntaxTests'
-      version: 4.300028
+      version: 4.300034
     -
       class: Dist::Zilla::Plugin::NoTabsTests
       name: '@DOY/NoTabsTests'
@@ -139,7 +139,7 @@
     -
       class: Dist::Zilla::Plugin::Test::Compile
       name: '@DOY/Test::Compile'
-      version: 1.112820
+      version: 2.002
     -
       class: Dist::Zilla::Plugin::Metadata
       name: '@DOY/Metadata'
@@ -147,23 +147,23 @@
     -
       class: Dist::Zilla::Plugin::MetaResources
       name: '@DOY/MetaResources'
-      version: 4.300028
+      version: 4.300034
     -
       class: Dist::Zilla::Plugin::Git::Check
       name: '@DOY/Git::Check'
-      version: 2.001
+      version: 2.013
     -
       class: Dist::Zilla::Plugin::Git::Commit
       name: '@DOY/Git::Commit'
-      version: 2.001
+      version: 2.013
     -
       class: Dist::Zilla::Plugin::Git::Tag
       name: '@DOY/Git::Tag'
-      version: 2.001
+      version: 2.013
     -
       class: Dist::Zilla::Plugin::Git::NextVersion
       name: '@DOY/Git::NextVersion'
-      version: 2.001
+      version: 2.013
     -
       class: Dist::Zilla::Plugin::PodWeaver
       name: '@DOY/PodWeaver'
@@ -171,11 +171,11 @@
     -
       class: Dist::Zilla::Plugin::UploadToCPAN
       name: '@DOY/UploadToCPAN'
-      version: 4.300028
+      version: 4.300034
     -
       class: Dist::Zilla::Plugin::AutoPrereqs
       name: AutoPrereqs
-      version: 4.300028
+      version: 4.300034
     -
       class: Dist::Zilla::Plugin::Prereqs
       config:
@@ -183,38 +183,47 @@
           phase: develop
           type: requires
       name: DevelopRequires
-      version: 4.300028
+      version: 4.300034
     -
       class: Dist::Zilla::Plugin::PruneFiles
       name: PruneFiles
-      version: 4.300028
+      version: 4.300034
+    -
+      class: Dist::Zilla::Plugin::ContributorsFromGit
+      name: ContributorsFromGit
+      version: 0.006
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':InstallModules'
-      version: 4.300028
+      version: 4.300034
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':IncModules'
-      version: 4.300028
+      version: 4.300034
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':TestFiles'
-      version: 4.300028
+      version: 4.300034
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ExecFiles'
-      version: 4.300028
+      version: 4.300034
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ShareFiles'
-      version: 4.300028
+      version: 4.300034
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':MainModule'
-      version: 4.300028
+      version: 4.300034
   zilla:
     class: Dist::Zilla::Dist::Builder
     config:
       is_trial: 0
-    version: 4.300028
+    version: 4.300034
 x_authority: cpan:DOY
+x_contributors:
+  - 'Dave Rolsky <[email protected]>'
+  - 'Florian Ragwitz <[email protected]>'
+  - 'Justin Hunter <[email protected]>'
+  - 'Tim Bunce <[email protected]>'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Package-Stash-XS-0.26/Makefile.PL 
new/Package-Stash-XS-0.28/Makefile.PL
--- old/Package-Stash-XS-0.26/Makefile.PL       2013-01-04 10:36:41.000000000 
+0100
+++ new/Package-Stash-XS-0.28/Makefile.PL       2013-07-16 18:17:11.000000000 
+0200
@@ -10,19 +10,8 @@
 
 my %WriteMakefileArgs = (
   "ABSTRACT" => "faster and more correct implementation of the Package::Stash 
API",
-  "AUTHOR" => "Jesse Luehrs <doy at tozt dot net>",
-  "BUILD_REQUIRES" => {
-    "B" => 0,
-    "File::Find" => 0,
-    "File::Temp" => 0,
-    "Scalar::Util" => 0,
-    "Symbol" => 0,
-    "Test::Fatal" => 0,
-    "Test::More" => "0.88",
-    "Test::Requires" => 0,
-    "base" => 0,
-    "constant" => 0
-  },
+  "AUTHOR" => "Jesse Luehrs <doy\@tozt.net>",
+  "BUILD_REQUIRES" => {},
   "CONFIGURE_REQUIRES" => {
     "ExtUtils::MakeMaker" => "6.30"
   },
@@ -35,13 +24,38 @@
     "strict" => 0,
     "warnings" => 0
   },
-  "VERSION" => "0.26",
+  "TEST_REQUIRES" => {
+    "B" => 0,
+    "File::Find" => 0,
+    "File::Temp" => 0,
+    "Scalar::Util" => 0,
+    "Symbol" => 0,
+    "Test::Fatal" => 0,
+    "Test::More" => "0.88",
+    "Test::Requires" => 0,
+    "base" => 0,
+    "constant" => 0
+  },
+  "VERSION" => "0.28",
   "test" => {
     "TESTS" => "t/*.t"
   }
 );
 
 
+unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) {
+  my $tr = delete $WriteMakefileArgs{TEST_REQUIRES};
+  my $br = $WriteMakefileArgs{BUILD_REQUIRES};
+  for my $mod ( keys %$tr ) {
+    if ( exists $br->{$mod} ) {
+      $br->{$mod} = $tr->{$mod} if $tr->{$mod} > $br->{$mod};
+    }
+    else {
+      $br->{$mod} = $tr->{$mod};
+    }
+  }
+}
+
 unless ( eval { ExtUtils::MakeMaker->VERSION(6.56) } ) {
   my $br = delete $WriteMakefileArgs{BUILD_REQUIRES};
   my $pp = $WriteMakefileArgs{PREREQ_PM};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Package-Stash-XS-0.26/README 
new/Package-Stash-XS-0.28/README
--- old/Package-Stash-XS-0.26/README    2013-01-04 10:36:41.000000000 +0100
+++ new/Package-Stash-XS-0.28/README    2013-07-16 18:17:11.000000000 +0200
@@ -1,7 +1,7 @@
 
 
 This archive contains the distribution Package-Stash-XS,
-version 0.26:
+version 0.28:
 
   faster and more correct implementation of the Package::Stash API
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Package-Stash-XS-0.26/XS.xs 
new/Package-Stash-XS-0.28/XS.xs
--- old/Package-Stash-XS-0.26/XS.xs     2013-01-04 10:36:41.000000000 +0100
+++ new/Package-Stash-XS-0.28/XS.xs     2013-07-16 18:17:11.000000000 +0200
@@ -372,25 +372,24 @@
     }
 }
 
-static void _expand_glob(SV *self, SV *varname)
+static void _expand_glob(SV *self, SV *varname, HE *entry, HV *namespace,
+                         int lval)
 {
-    HV *namespace;
-    HE *entry;
     GV *glob;
 
-    namespace = _get_namespace(self);
-
-    if (entry = hv_fetch_ent(namespace, varname, 0, 0)) {
+    if (entry) {
         glob = (GV*)HeVAL(entry);
         if (isGV(glob)) {
-            croak("_expand_glob called on stash slot with expanded glob");
+            croak("_expand_glob called on stash slot with expanded glob: %"SVf,
+                  varname);
         }
         else {
             SvREFCNT_inc(glob);
             _real_gv_init(glob, namespace, varname);
-            if (!hv_store_ent(namespace, varname, (SV*)glob, 0)) {
-                croak("hv_store failed");
+            if (HeVAL(entry)) {
+                SvREFCNT_dec(HeVAL(entry));
             }
+            HeVAL(entry) = (SV*)glob;
         }
     }
     else {
@@ -420,27 +419,25 @@
     }
 }
 
-static void _add_symbol(SV *self, varspec_t variable, SV *initial)
+static void _add_symbol_entry(SV *self, varspec_t variable, SV *initial,
+                              HE *entry, HV *namespace)
 {
     GV *glob;
-    HV *namespace;
-    HE *entry;
     SV *val;
 
-    /* GV_ADDMULTI rather than GV_ADD because otherwise you get 'used only
-     * once' warnings in some situations... i can't reproduce this, but CMOP
-     * triggers it */
-    namespace = _get_namespace(self);
-    entry = hv_fetch_ent(namespace, variable.name, 0, 0);
-    if (entry) {
+    if (entry && isGV(HeVAL(entry))) {
         glob = (GV*)HeVAL(entry);
     }
-    else {
+    else if (entry) {
         glob = (GV*)newSV(0);
         _real_gv_init(glob, namespace, variable.name);
-        if (!hv_store_ent(namespace, variable.name, (SV*)glob, 0)) {
-            croak("hv_store failed");
+        if (HeVAL(entry)) {
+            SvREFCNT_dec(HeVAL(entry));
         }
+        HeVAL(entry) = (SV*)glob;
+    }
+    else {
+        croak("invalid entry passed to _add_symbol_entry");
     }
 
     if (!initial) {
@@ -476,6 +473,17 @@
     }
 }
 
+static void _add_symbol(SV *self, varspec_t variable, SV *initial)
+{
+    HV *namespace;
+    HE *entry;
+
+    namespace = _get_namespace(self);
+    entry = hv_fetch_ent(namespace, variable.name, 1, 0);
+
+    _add_symbol_entry(self, variable, initial, entry, namespace);
+}
+
 static int _slot_exists(GV *glob, vartype_t type)
 {
     switch (type) {
@@ -507,16 +515,18 @@
     GV *glob;
 
     namespace = _get_namespace(self);
-    entry = hv_fetch_ent(namespace, variable->name, vivify, 0);
+    entry = hv_fetch_ent(namespace, variable->name,
+                         vivify && !hv_exists_ent(namespace, variable->name, 
0),
+                         0);
     if (!entry)
         return NULL;
 
     glob = (GV*)(HeVAL(entry));
     if (!isGV(glob))
-        _expand_glob(self, variable->name);
+        _expand_glob(self, variable->name, entry, namespace, vivify);
 
     if (vivify && !_slot_exists(glob, variable->type)) {
-        _add_symbol(self, *variable, NULL);
+        _add_symbol_entry(self, *variable, NULL, entry, namespace);
     }
 
     switch (variable->type) {
@@ -901,16 +911,18 @@
     vartype_t vartype
   PREINIT:
     HV *namespace, *ret;
-    SV *val;
-    char *key;
-    I32 len;
+    HE *entry;
   PPCODE:
     namespace = _get_namespace(self);
     ret = newHV();
 
     hv_iterinit(namespace);
-    while ((val = hv_iternextsv(namespace, &key, &len))) {
-        GV *gv = (GV*)val;
+    while ((entry = hv_iternext(namespace))) {
+        GV *gv = (GV*)hv_iterval(namespace, entry);
+        char *key;
+        I32 len;
+
+        key = hv_iterkey(entry, &len);
 #if PERL_VERSION < 10
         if ((vartype == VAR_SCALAR || vartype == VAR_NONE)
             && strnEQ(key, "::ISA::CACHE::", len)) {
@@ -920,33 +932,33 @@
 
         if (!isGV(gv)) {
             SV *keysv = newSVpvn(key, len);
-            _expand_glob(self, keysv);
+            _expand_glob(self, keysv, entry, namespace, 0);
             SvREFCNT_dec(keysv);
         }
 
         switch (vartype) {
         case VAR_SCALAR:
-            if (GvSVOK(val))
+            if (GvSVOK(gv))
                 hv_store(ret, key, len, newRV_inc(GvSV(gv)), 0);
             break;
         case VAR_ARRAY:
-            if (GvAVOK(val))
+            if (GvAVOK(gv))
                 hv_store(ret, key, len, newRV_inc((SV*)GvAV(gv)), 0);
             break;
         case VAR_HASH:
-            if (GvHVOK(val))
+            if (GvHVOK(gv))
                 hv_store(ret, key, len, newRV_inc((SV*)GvHV(gv)), 0);
             break;
         case VAR_CODE:
-            if (GvCVOK(val))
+            if (GvCVOK(gv))
                 hv_store(ret, key, len, newRV_inc((SV*)GvCV(gv)), 0);
             break;
         case VAR_IO:
-            if (GvIOOK(val))
+            if (GvIOOK(gv))
                 hv_store(ret, key, len, newRV_inc((SV*)GvIO(gv)), 0);
             break;
         case VAR_NONE:
-            hv_store(ret, key, len, SvREFCNT_inc_simple_NN(val), 0);
+            hv_store(ret, key, len, SvREFCNT_inc_simple_NN((SV*)gv), 0);
             break;
         default:
             croak("Unknown variable type in get_all_symbols");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Package-Stash-XS-0.26/dist.ini 
new/Package-Stash-XS-0.28/dist.ini
--- old/Package-Stash-XS-0.26/dist.ini  2013-01-04 10:36:41.000000000 +0100
+++ new/Package-Stash-XS-0.28/dist.ini  2013-07-16 18:17:11.000000000 +0200
@@ -1,14 +1,17 @@
 name = Package-Stash-XS
-author = Jesse Luehrs <doy at tozt dot net>
+author = Jesse Luehrs <[email protected]>
 license = Perl_5
 copyright_holder = Jesse Luehrs
 
 [@DOY]
-:version = 0.05
+:version = 0.11
 dist = Package-Stash-XS
 repository = github
+bugtracker_web = https://github.com/doy/package-stash-xs/issues
+bugtracker_mailto =
 
 [AutoPrereqs]
+skip = ^Variable::Magic$
 
 [Prereqs / DevelopRequires]
 Test::LeakTrace = 0
@@ -18,3 +21,5 @@
 ; dependencies and such
 [PruneFiles]
 filenames = Makefile.PL
+
+[ContributorsFromGit]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Package-Stash-XS-0.26/lib/Package/Stash/XS.pm 
new/Package-Stash-XS-0.28/lib/Package/Stash/XS.pm
--- old/Package-Stash-XS-0.26/lib/Package/Stash/XS.pm   2013-01-04 
10:36:41.000000000 +0100
+++ new/Package-Stash-XS-0.28/lib/Package/Stash/XS.pm   2013-07-16 
18:17:11.000000000 +0200
@@ -3,7 +3,7 @@
   $Package::Stash::XS::AUTHORITY = 'cpan:DOY';
 }
 {
-  $Package::Stash::XS::VERSION = '0.26';
+  $Package::Stash::XS::VERSION = '0.28';
 }
 use strict;
 use warnings;
@@ -34,7 +34,7 @@
 
 =head1 VERSION
 
-version 0.26
+version 0.28
 
 =head1 SYNOPSIS
 
@@ -50,19 +50,12 @@
 
 No known bugs (but see the BUGS section in L<Package::Stash>).
 
-Please report any bugs through RT: email
-C<bug-package-stash-xs at rt.cpan.org>, or browse to
-L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Package-Stash-XS>.
+Please report any bugs to GitHub Issues at
+L<https://github.com/doy/package-stash-xs/issues>.
 
 =head1 SEE ALSO
 
-=over 4
-
-=item * L<Class::MOP::Package>
-
-This module is a factoring out of code that used to live here
-
-=back
+L<Package::Stash>
 
 =head1 SUPPORT
 
@@ -74,31 +67,24 @@
 
 =over 4
 
-=item * AnnoCPAN: Annotated CPAN documentation
+=item * MetaCPAN
 
-L<http://annocpan.org/dist/Package-Stash-XS>
+L<https://metacpan.org/release/Package-Stash-XS>
 
-=item * CPAN Ratings
+=item * Github
 
-L<http://cpanratings.perl.org/d/Package-Stash-XS>
+L<https://github.com/doy/package-stash-xs>
 
 =item * RT: CPAN's request tracker
 
 L<http://rt.cpan.org/NoAuth/Bugs.html?Dist=Package-Stash-XS>
 
-=item * Search CPAN
+=item * CPAN Ratings
 
-L<http://search.cpan.org/dist/Package-Stash-XS>
+L<http://cpanratings.perl.org/d/Package-Stash-XS>
 
 =back
 
-=head1 AUTHOR
-
-Jesse Luehrs <doy at tozt dot net>
-
-Based on code from L<Class::MOP::Package>, by Stevan Little and the Moose
-Cabal.
-
 =for Pod::Coverage add_symbol
 get_all_symbols
 get_or_add_symbol
@@ -113,7 +99,7 @@
 
 =head1 AUTHOR
 
-Jesse Luehrs <doy at tozt dot net>
+Jesse Luehrs <[email protected]>
 
 =head1 COPYRIGHT AND LICENSE
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Package-Stash-XS-0.26/t/00-compile.t 
new/Package-Stash-XS-0.28/t/00-compile.t
--- old/Package-Stash-XS-0.26/t/00-compile.t    2013-01-04 10:36:41.000000000 
+0100
+++ new/Package-Stash-XS-0.28/t/00-compile.t    2013-07-16 18:17:11.000000000 
+0200
@@ -70,4 +70,5 @@
             script_compiles( $file, "$script script compiles" );
         }
     }
+
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Package-Stash-XS-0.26/t/magic.t 
new/Package-Stash-XS-0.28/t/magic.t
--- old/Package-Stash-XS-0.26/t/magic.t 2013-01-04 10:36:41.000000000 +0100
+++ new/Package-Stash-XS-0.28/t/magic.t 2013-07-16 18:17:11.000000000 +0200
@@ -29,4 +29,52 @@
     is(eval q["@foo"], 'a-b-c');
 }
 
+SKIP: {
+    skip "only need to test for magic in the xs version", 10
+        unless $Package::Stash::IMPLEMENTATION eq 'XS';
+    skip "magic stashes require perl 5.10+", 10
+        unless $] >= 5.010;
+    skip "magic stashes require Variable::Magic", 10
+        unless eval { require Variable::Magic; 1 };
+
+    my ($fetch, $store);
+    my $wiz = Variable::Magic::wizard(
+        fetch => sub { $fetch++ },
+        store => sub { $store++ },
+    );
+    Variable::Magic::cast(\%MagicStashTest::, $wiz);
+
+    my $stash = Package::Stash->new('MagicStashTest');
+
+    $fetch = 0;
+    $store = 0;
+    $stash->get_symbol('@foo');
+    is($fetch, 1, "get_symbol fetches (empty slot)");
+    is($store, 0, "get_symbol stores (empty slot)");
+
+    $fetch = 0;
+    $store = 0;
+    $stash->get_or_add_symbol('@bar');
+    is($fetch, 0, "get_or_add_symbol fetches (empty slot)");
+    is($store, 1, "get_or_add_symbol stores (empty slot)");
+
+    $fetch = 0;
+    $store = 0;
+    $stash->add_symbol('@baz', ['baz']);
+    is($fetch, 0, "add_symbol fetches");
+    is($store, 1, "add_symbol stores");
+
+    $fetch = 0;
+    $store = 0;
+    $stash->get_symbol('@baz');
+    is($fetch, 1, "get_symbol fetches (populated slot)");
+    is($store, 0, "get_symbol stores (populated slot)");
+
+    $fetch = 0;
+    $store = 0;
+    $stash->get_or_add_symbol('@baz');
+    is($fetch, 1, "get_or_add_symbol fetches (populated slot)");
+    is($store, 0, "get_or_add_symbol stores (populated slot)");
+}
+
 done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Package-Stash-XS-0.26/t/warnings.t 
new/Package-Stash-XS-0.28/t/warnings.t
--- old/Package-Stash-XS-0.26/t/warnings.t      1970-01-01 01:00:00.000000000 
+0100
+++ new/Package-Stash-XS-0.28/t/warnings.t      2013-07-16 18:17:11.000000000 
+0200
@@ -0,0 +1,22 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use lib 't/lib';
+use Test::More;
+
+use Package::Stash;
+
+my $warnings;
+BEGIN {
+    $warnings = '';
+    $SIG{__WARN__} = sub { $warnings .= $_[0] };
+}
+
+BEGIN {
+    my $stash = Package::Stash->new('Foo');
+    $stash->get_or_add_symbol('$bar');
+}
+
+is($warnings, '');
+
+done_testing;

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to