r70541 - in /branches/upstream/libpackage-stash-perl/current: Changes META.json META.yml Makefile.PL README dist.ini lib/Package/Stash.pm lib/Package/Stash/Conflicts.pm lib/Package/Stash/PP.pm t/00-compile.t t/02-extension.t t/07-edge-cases.t

jawnsy-guest at users.alioth.debian.org jawnsy-guest at users.alioth.debian.org
Sat Mar 5 22:29:22 UTC 2011


Author: jawnsy-guest
Date: Sat Mar  5 22:29:11 2011
New Revision: 70541

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=70541
Log:
[svn-upgrade] new version libpackage-stash-perl (0.26)

Modified:
    branches/upstream/libpackage-stash-perl/current/Changes
    branches/upstream/libpackage-stash-perl/current/META.json
    branches/upstream/libpackage-stash-perl/current/META.yml
    branches/upstream/libpackage-stash-perl/current/Makefile.PL
    branches/upstream/libpackage-stash-perl/current/README
    branches/upstream/libpackage-stash-perl/current/dist.ini
    branches/upstream/libpackage-stash-perl/current/lib/Package/Stash.pm
    branches/upstream/libpackage-stash-perl/current/lib/Package/Stash/Conflicts.pm
    branches/upstream/libpackage-stash-perl/current/lib/Package/Stash/PP.pm
    branches/upstream/libpackage-stash-perl/current/t/00-compile.t
    branches/upstream/libpackage-stash-perl/current/t/02-extension.t
    branches/upstream/libpackage-stash-perl/current/t/07-edge-cases.t

Modified: branches/upstream/libpackage-stash-perl/current/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libpackage-stash-perl/current/Changes?rev=70541&op=diff
==============================================================================
--- branches/upstream/libpackage-stash-perl/current/Changes (original)
+++ branches/upstream/libpackage-stash-perl/current/Changes Sat Mar  5 22:29:11 2011
@@ -1,4 +1,9 @@
 Revision history for Package-Stash
+
+0.26  2011-03-04
+      - make the namespace cache lazy and weak, in case the stash is deleted
+      - but, this doesn't work on 5.8, so disable the namespace caching
+        entirely there
 
 0.25  2011-01-25
       - make the leak tests author-only, since some smokers run release tests

Modified: branches/upstream/libpackage-stash-perl/current/META.json
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libpackage-stash-perl/current/META.json?rev=70541&op=diff
==============================================================================
--- branches/upstream/libpackage-stash-perl/current/META.json (original)
+++ branches/upstream/libpackage-stash-perl/current/META.json Sat Mar  5 22:29:11 2011
@@ -4,7 +4,7 @@
       "Jesse Luehrs <doy at tozt dot net>"
    ],
    "dynamic_config" : 0,
-   "generated_by" : "Dist::Zilla version 4.200000, CPAN::Meta::Converter version 2.101670",
+   "generated_by" : "Dist::Zilla version 4.200004, CPAN::Meta::Converter version 2.110580",
    "license" : [
       "perl_5"
    ],
@@ -16,7 +16,7 @@
    "prereqs" : {
       "configure" : {
          "requires" : {
-            "Dist::CheckConflicts" : "0.01",
+            "Dist::CheckConflicts" : "0.02",
             "ExtUtils::MakeMaker" : "6.31"
          }
       },
@@ -28,7 +28,7 @@
       "runtime" : {
          "requires" : {
             "Package::DeprecationManager" : 0,
-            "Package::Stash::XS" : "0.21",
+            "Package::Stash::XS" : "0.22",
             "Scalar::Util" : 0,
             "perl" : "v5.8.1"
          }
@@ -45,56 +45,68 @@
    "resources" : {
       "repository" : {
          "type" : "git",
-         "url" : "git://github.com/doy/package-stash.git"
+         "url" : "git://github.com/doy/package-stash.git",
+         "web" : "http://github.com/doy/package-stash"
       }
    },
-   "version" : "0.25",
+   "version" : "0.26",
    "x_Dist_Zilla" : {
       "plugins" : [
          {
+            "class" : "Dist::Zilla::Plugin::Prereqs",
+            "config" : {
+               "Dist::Zilla::Plugin::Prereqs" : {
+                  "phase" : "test",
+                  "type" : "requires"
+               }
+            },
+            "name" : "@DOY/TestMoreDoneTesting",
+            "version" : "4.200004"
+         },
+         {
             "class" : "Dist::Zilla::Plugin::GatherDir",
             "name" : "@DOY/GatherDir",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::PruneCruft",
             "name" : "@DOY/PruneCruft",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::ManifestSkip",
             "name" : "@DOY/ManifestSkip",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaYAML",
             "name" : "@DOY/MetaYAML",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::License",
             "name" : "@DOY/License",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::Readme",
             "name" : "@DOY/Readme",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::ExtraTests",
             "name" : "@DOY/ExtraTests",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::ExecDir",
             "name" : "@DOY/ExecDir",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::ShareDir",
             "name" : "@DOY/ShareDir",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "inc::MMPackageStash",
@@ -104,32 +116,32 @@
          {
             "class" : "Dist::Zilla::Plugin::Manifest",
             "name" : "@DOY/Manifest",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::TestRelease",
             "name" : "@DOY/TestRelease",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::ConfirmRelease",
             "name" : "@DOY/ConfirmRelease",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaConfig",
             "name" : "@DOY/MetaConfig",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaJSON",
             "name" : "@DOY/MetaJSON",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::NextRelease",
             "name" : "@DOY/NextRelease",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::CheckChangesHasContent",
@@ -139,17 +151,17 @@
          {
             "class" : "Dist::Zilla::Plugin::PkgVersion",
             "name" : "@DOY/PkgVersion",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::PodCoverageTests",
             "name" : "@DOY/PodCoverageTests",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::PodSyntaxTests",
             "name" : "@DOY/PodSyntaxTests",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::NoTabsTests",
@@ -164,37 +176,37 @@
          {
             "class" : "Dist::Zilla::Plugin::CompileTests",
             "name" : "@DOY/CompileTests",
-            "version" : "1.101800"
+            "version" : "1.103030"
          },
          {
             "class" : "Dist::Zilla::Plugin::Repository",
             "name" : "@DOY/Repository",
-            "version" : "0.13"
+            "version" : "0.17"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Check",
             "name" : "@DOY/Git::Check",
-            "version" : "1.103520"
+            "version" : "1.110500"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Tag",
             "name" : "@DOY/Git::Tag",
-            "version" : "1.103520"
-         },
-         {
-            "class" : "Dist::Zilla::Plugin::BumpVersionFromGit",
-            "name" : "@DOY/BumpVersionFromGit",
-            "version" : "0.007"
+            "version" : "1.110500"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::NextVersion",
+            "name" : "@DOY/Git::NextVersion",
+            "version" : "1.110500"
          },
          {
             "class" : "Dist::Zilla::Plugin::PodWeaver",
             "name" : "@DOY/PodWeaver",
-            "version" : "3.101640"
+            "version" : "3.101641"
          },
          {
             "class" : "Dist::Zilla::Plugin::UploadToCPAN",
             "name" : "@DOY/UploadToCPAN",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::Prereqs",
@@ -205,7 +217,7 @@
                }
             },
             "name" : "Prereqs",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::Prereqs",
@@ -216,7 +228,7 @@
                }
             },
             "name" : "TestRequires",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::Prereqs",
@@ -227,32 +239,32 @@
                }
             },
             "name" : "DevelopRequires",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::Conflicts",
             "name" : "Conflicts",
-            "version" : "0.04"
+            "version" : "0.07"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":InstallModules",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":TestFiles",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ExecFiles",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ShareFiles",
-            "version" : "4.200000"
+            "version" : "4.200004"
          }
       ],
       "zilla" : {
@@ -260,7 +272,7 @@
          "config" : {
             "is_trial" : 0
          },
-         "version" : "4.200000"
+         "version" : "4.200004"
       }
    },
    "x_conflicts" : {

Modified: branches/upstream/libpackage-stash-perl/current/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libpackage-stash-perl/current/META.yml?rev=70541&op=diff
==============================================================================
--- branches/upstream/libpackage-stash-perl/current/META.yml (original)
+++ branches/upstream/libpackage-stash-perl/current/META.yml Sat Mar  5 22:29:11 2011
@@ -7,10 +7,10 @@
   Test::More: 0.88
   Test::Requires: 0
 configure_requires:
-  Dist::CheckConflicts: 0.01
+  Dist::CheckConflicts: 0.02
   ExtUtils::MakeMaker: 6.31
 dynamic_config: 0
-generated_by: 'Dist::Zilla version 4.200000, CPAN::Meta::Converter version 2.101670'
+generated_by: 'Dist::Zilla version 4.200004, CPAN::Meta::Converter version 2.110580'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -18,50 +18,58 @@
 name: Package-Stash
 requires:
   Package::DeprecationManager: 0
-  Package::Stash::XS: 0.21
+  Package::Stash::XS: 0.22
   Scalar::Util: 0
   perl: 5.8.1
 resources:
   repository: git://github.com/doy/package-stash.git
-version: 0.25
+version: 0.26
 x_Dist_Zilla:
   plugins:
     -
+      class: Dist::Zilla::Plugin::Prereqs
+      config:
+        Dist::Zilla::Plugin::Prereqs:
+          phase: test
+          type: requires
+      name: '@DOY/TestMoreDoneTesting'
+      version: 4.200004
+    -
       class: Dist::Zilla::Plugin::GatherDir
       name: '@DOY/GatherDir'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::PruneCruft
       name: '@DOY/PruneCruft'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::ManifestSkip
       name: '@DOY/ManifestSkip'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::MetaYAML
       name: '@DOY/MetaYAML'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::License
       name: '@DOY/License'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::Readme
       name: '@DOY/Readme'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::ExtraTests
       name: '@DOY/ExtraTests'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::ExecDir
       name: '@DOY/ExecDir'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::ShareDir
       name: '@DOY/ShareDir'
-      version: 4.200000
+      version: 4.200004
     -
       class: inc::MMPackageStash
       name: '@DOY/=inc::MMPackageStash'
@@ -69,27 +77,27 @@
     -
       class: Dist::Zilla::Plugin::Manifest
       name: '@DOY/Manifest'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::TestRelease
       name: '@DOY/TestRelease'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::ConfirmRelease
       name: '@DOY/ConfirmRelease'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::MetaConfig
       name: '@DOY/MetaConfig'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::MetaJSON
       name: '@DOY/MetaJSON'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::NextRelease
       name: '@DOY/NextRelease'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::CheckChangesHasContent
       name: '@DOY/CheckChangesHasContent'
@@ -97,15 +105,15 @@
     -
       class: Dist::Zilla::Plugin::PkgVersion
       name: '@DOY/PkgVersion'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::PodCoverageTests
       name: '@DOY/PodCoverageTests'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::PodSyntaxTests
       name: '@DOY/PodSyntaxTests'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::NoTabsTests
       name: '@DOY/NoTabsTests'
@@ -117,31 +125,31 @@
     -
       class: Dist::Zilla::Plugin::CompileTests
       name: '@DOY/CompileTests'
-      version: 1.101800
+      version: 1.103030
     -
       class: Dist::Zilla::Plugin::Repository
       name: '@DOY/Repository'
-      version: 0.13
+      version: 0.17
     -
       class: Dist::Zilla::Plugin::Git::Check
       name: '@DOY/Git::Check'
-      version: 1.103520
+      version: 1.110500
     -
       class: Dist::Zilla::Plugin::Git::Tag
       name: '@DOY/Git::Tag'
-      version: 1.103520
-    -
-      class: Dist::Zilla::Plugin::BumpVersionFromGit
-      name: '@DOY/BumpVersionFromGit'
-      version: 0.007
+      version: 1.110500
+    -
+      class: Dist::Zilla::Plugin::Git::NextVersion
+      name: '@DOY/Git::NextVersion'
+      version: 1.110500
     -
       class: Dist::Zilla::Plugin::PodWeaver
       name: '@DOY/PodWeaver'
-      version: 3.101640
+      version: 3.101641
     -
       class: Dist::Zilla::Plugin::UploadToCPAN
       name: '@DOY/UploadToCPAN'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::Prereqs
       config:
@@ -149,7 +157,7 @@
           phase: runtime
           type: requires
       name: Prereqs
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::Prereqs
       config:
@@ -157,7 +165,7 @@
           phase: test
           type: requires
       name: TestRequires
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::Prereqs
       config:
@@ -165,32 +173,32 @@
           phase: develop
           type: requires
       name: DevelopRequires
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::Conflicts
       name: Conflicts
-      version: 0.04
+      version: 0.07
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':InstallModules'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':TestFiles'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ExecFiles'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ShareFiles'
-      version: 4.200000
+      version: 4.200004
   zilla:
     class: Dist::Zilla::Dist::Builder
     config:
       is_trial: 0
-    version: 4.200000
+    version: 4.200004
 x_conflicts:
   Class::MOP: 1.08
   MooseX::Role::WithOverloading: 0.08

Modified: branches/upstream/libpackage-stash-perl/current/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libpackage-stash-perl/current/Makefile.PL?rev=70541&op=diff
==============================================================================
--- branches/upstream/libpackage-stash-perl/current/Makefile.PL (original)
+++ branches/upstream/libpackage-stash-perl/current/Makefile.PL Sat Mar  5 22:29:11 2011
@@ -15,7 +15,7 @@
     'Test::Requires' => '0'
   },
   'CONFIGURE_REQUIRES' => {
-    'Dist::CheckConflicts' => '0.01',
+    'Dist::CheckConflicts' => '0.02',
     'ExtUtils::MakeMaker' => '6.31'
   },
   'DISTNAME' => 'Package-Stash',
@@ -26,10 +26,10 @@
   'NAME' => 'Package::Stash',
   'PREREQ_PM' => {
     'Package::DeprecationManager' => '0',
-    'Package::Stash::XS' => '0.21',
+    'Package::Stash::XS' => '0.22',
     'Scalar::Util' => '0'
   },
-  'VERSION' => '0.25',
+  'VERSION' => '0.26',
   'test' => {
     'TESTS' => 't/*.t t/impl-selection/*.t'
   }

Modified: branches/upstream/libpackage-stash-perl/current/README
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libpackage-stash-perl/current/README?rev=70541&op=diff
==============================================================================
--- branches/upstream/libpackage-stash-perl/current/README (original)
+++ branches/upstream/libpackage-stash-perl/current/README Sat Mar  5 22:29:11 2011
@@ -1,7 +1,7 @@
 
 
 This archive contains the distribution Package-Stash,
-version 0.25:
+version 0.26:
 
   routines for manipulating stashes
 

Modified: branches/upstream/libpackage-stash-perl/current/dist.ini
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libpackage-stash-perl/current/dist.ini?rev=70541&op=diff
==============================================================================
--- branches/upstream/libpackage-stash-perl/current/dist.ini (original)
+++ branches/upstream/libpackage-stash-perl/current/dist.ini Sat Mar  5 22:29:11 2011
@@ -7,11 +7,12 @@
 :version = 0.05
 dist = Package-Stash
 awesome = =inc::MMPackageStash
+CompileTests_skip = Conflicts$
 
 [Prereqs]
 perl = 5.8.1
 Package::DeprecationManager = 0
-Package::Stash::XS = 0.21
+Package::Stash::XS = 0.22
 Scalar::Util = 0
 
 [Prereqs / TestRequires]

Modified: branches/upstream/libpackage-stash-perl/current/lib/Package/Stash.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libpackage-stash-perl/current/lib/Package/Stash.pm?rev=70541&op=diff
==============================================================================
--- branches/upstream/libpackage-stash-perl/current/lib/Package/Stash.pm (original)
+++ branches/upstream/libpackage-stash-perl/current/lib/Package/Stash.pm Sat Mar  5 22:29:11 2011
@@ -1,6 +1,6 @@
 package Package::Stash;
 BEGIN {
-  $Package::Stash::VERSION = '0.25';
+  $Package::Stash::VERSION = '0.26';
 }
 use strict;
 use warnings;
@@ -102,7 +102,7 @@
 
 =head1 VERSION
 
-version 0.25
+version 0.26
 
 =head1 SYNOPSIS
 

Modified: branches/upstream/libpackage-stash-perl/current/lib/Package/Stash/Conflicts.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libpackage-stash-perl/current/lib/Package/Stash/Conflicts.pm?rev=70541&op=diff
==============================================================================
--- branches/upstream/libpackage-stash-perl/current/lib/Package/Stash/Conflicts.pm (original)
+++ branches/upstream/libpackage-stash-perl/current/lib/Package/Stash/Conflicts.pm Sat Mar  5 22:29:11 2011
@@ -16,6 +16,7 @@
         Package::Stash::XS
         Scalar::Util
     ) ],
+
 ;
 
 1;

Modified: branches/upstream/libpackage-stash-perl/current/lib/Package/Stash/PP.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libpackage-stash-perl/current/lib/Package/Stash/PP.pm?rev=70541&op=diff
==============================================================================
--- branches/upstream/libpackage-stash-perl/current/lib/Package/Stash/PP.pm (original)
+++ branches/upstream/libpackage-stash-perl/current/lib/Package/Stash/PP.pm Sat Mar  5 22:29:11 2011
@@ -1,32 +1,28 @@
 package Package::Stash::PP;
 BEGIN {
-  $Package::Stash::PP::VERSION = '0.25';
+  $Package::Stash::PP::VERSION = '0.26';
 }
 use strict;
 use warnings;
 # ABSTRACT: pure perl implementation of the Package::Stash API
 
 use Carp qw(confess);
-use Scalar::Util qw(blessed reftype);
+use Scalar::Util qw(blessed reftype weaken);
 use Symbol;
 # before 5.12, assigning to the ISA glob would make it lose its magical ->isa
 # powers
 use constant BROKEN_ISA_ASSIGNMENT => ($] < 5.012);
+# before 5.10, stashes don't ever seem to drop to a refcount of zero, so
+# weakening them isn't helpful
+use constant BROKEN_WEAK_STASH     => ($] < 5.010);
 
 
 sub new {
     my $class = shift;
     my ($package) = @_;
     my $namespace;
-    {
-        no strict 'refs';
-        # supposedly this caused a bug in earlier perls, but I can't reproduce
-        # it, so re-enabling the caching
-        $namespace = \%{$package . '::'};
-    }
     return bless {
-        'package'   => $package,
-        'namespace' => $namespace,
+        'package' => $package,
     }, $class;
 }
 
@@ -39,7 +35,23 @@
 sub namespace {
     confess "Can't call namespace as a class method"
         unless blessed($_[0]);
-    return $_[0]->{namespace};
+
+    if (BROKEN_WEAK_STASH) {
+        no strict 'refs';
+        return \%{$_[0]->name . '::'};
+    }
+    else {
+        return $_[0]->{namespace} if defined $_[0]->{namespace};
+
+        {
+            no strict 'refs';
+            $_[0]->{namespace} = \%{$_[0]->name . '::'};
+        }
+
+        weaken($_[0]->{namespace});
+
+        return $_[0]->{namespace};
+    }
 }
 
 {
@@ -333,7 +345,7 @@
 
 =head1 VERSION
 
-version 0.25
+version 0.26
 
 =head1 SYNOPSIS
 

Modified: branches/upstream/libpackage-stash-perl/current/t/00-compile.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libpackage-stash-perl/current/t/00-compile.t?rev=70541&op=diff
==============================================================================
--- branches/upstream/libpackage-stash-perl/current/t/00-compile.t (original)
+++ branches/upstream/libpackage-stash-perl/current/t/00-compile.t Sat Mar  5 22:29:11 2011
@@ -4,6 +4,9 @@
 use warnings;
 
 use Test::More;
+
+
+
 use File::Find;
 use File::Temp qw{ tempdir };
 
@@ -15,7 +18,7 @@
     $found =~ s{^lib/}{};
     $found =~ s{[/\\]}{::}g;
     $found =~ s/\.pm$//;
-    # nothing to skip
+    return if $found =~ /Conflicts$/;
     push @modules, $found;
   },
   'lib',

Modified: branches/upstream/libpackage-stash-perl/current/t/02-extension.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libpackage-stash-perl/current/t/02-extension.t?rev=70541&op=diff
==============================================================================
--- branches/upstream/libpackage-stash-perl/current/t/02-extension.t (original)
+++ branches/upstream/libpackage-stash-perl/current/t/02-extension.t Sat Mar  5 22:29:11 2011
@@ -20,6 +20,8 @@
         $self->{namespace} = {};
         return $self;
     }
+
+    sub namespace { shift->{namespace} }
 
     sub add_symbol {
         my ($self, $variable, $initial_value) = @_;

Modified: branches/upstream/libpackage-stash-perl/current/t/07-edge-cases.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libpackage-stash-perl/current/t/07-edge-cases.t?rev=70541&op=diff
==============================================================================
--- branches/upstream/libpackage-stash-perl/current/t/07-edge-cases.t (original)
+++ branches/upstream/libpackage-stash-perl/current/t/07-edge-cases.t Sat Mar  5 22:29:11 2011
@@ -66,4 +66,19 @@
 
 use_ok('CompileTime');
 
+{
+    package Gets::Deleted;
+    sub bar { }
+}
+
+{
+    my $delete = Package::Stash->new('Gets::Deleted');
+    ok($delete->has_symbol('&bar'), "sees the method");
+    {
+        no strict 'refs';
+        delete ${'main::Gets::'}{'Deleted::'};
+    }
+    ok(!$delete->has_symbol('&bar'), "method goes away when stash is deleted");
+}
+
 done_testing;




More information about the Pkg-perl-cvs-commits mailing list