Upgrade to NEXT-0.62.
authorFlorian Ragwitz <rafl@debian.org>
Wed, 8 Apr 2009 01:37:43 +0000 (03:37 +0200)
committerFlorian Ragwitz <rafl@debian.org>
Wed, 8 Apr 2009 01:37:43 +0000 (03:37 +0200)
lib/NEXT.pm
lib/NEXT/Changes

index dc31277..053ee10 100644 (file)
@@ -1,5 +1,5 @@
 package NEXT;
-$VERSION = '0.61';
+$VERSION = '0.62';
 use Carp;
 use strict;
 use overload ();
@@ -61,11 +61,19 @@ sub NEXT::ELSEWHERE::buildAUTOLOAD
                 last if shift @forebears eq $caller_class
             }
             no strict 'refs';
-            @{$NEXT::NEXT{$key,$wanted_method}} = 
-                map { *{"${_}::$caller_method"}{CODE}||() } @forebears
+            @{$NEXT::NEXT{$key,$wanted_method}} =
+                map {
+                    my $stash = \%{"${_}::"};
+                    ($stash->{$caller_method} && (*{$stash->{$caller_method}}{CODE}))
+                        ? *{$stash->{$caller_method}}{CODE}
+                        : () } @forebears
                     unless $wanted_method eq 'AUTOLOAD';
-            @{$NEXT::NEXT{$key,$wanted_method}} = 
-                map { (*{"${_}::AUTOLOAD"}{CODE}) ? "${_}::AUTOLOAD" : ()} @forebears
+            @{$NEXT::NEXT{$key,$wanted_method}} =
+                map {
+                    my $stash = \%{"${_}::"};
+                    ($stash->{AUTOLOAD} && (*{$stash->{AUTOLOAD}}{CODE}))
+                        ? "${_}::AUTOLOAD"
+                        : () } @forebears
                     unless @{$NEXT::NEXT{$key,$wanted_method}||[]};
             $NEXT::SEEN->{$key,*{$caller}{CODE}}++;
         }
index fc34098..47b5693 100644 (file)
@@ -1,69 +1,50 @@
 Revision history for Perl extension NEXT.pm.
 
-0.01   Tue Apr 10 18:27:00 EST 2001
-
-       - original version 
-
-
-0.01   Thu Apr 12 17:06:49 2001
-
-       - Documented the difference between NEXT and SUPER (thanks Ken)
-
-
-
-0.01   Thu Apr 12 17:15:42 2001
-
-
-
-0.02   Mon Sep  3 07:52:27 2001
-
-       - Fixed setting of $AUTOLOAD in NEXT'd AUTOLOADS (thanks Leonid)
-
-       - Changed licence for inclusion in core distribution
-
-
-0.50   Fri Nov 16 11:20:40 2001
-
-       - Added a $VERSION (oops!)
-
-       - Fixed handling of diamond patterns (thanks Paul)
-
-       - Added NEXT::ACTUAL to require existence of next method (thanks Paul)
-
-       - Added NEXT::UNSEEN to avoid calling multiply inherited
-         methods twice (thanks Paul)
-
-       - Re-fixed setting of $AUTOLOAD in NEXT'd AUTOLOADS to be
-         consistent with more useful SUPER:: behaviour
-
-       - Corified tests
-
-
-0.51   Tue Jul 29 23:09:48 2003
-
-       - Fixed NEXT::UNSEEN bug under diamond inheritance (thanks Dan
-         and Alan)
-
-       - Moved &ancestors out of NEXT class in case anyone ever 
-         calls NEXT::ancestors
-
-       - Replaced UNSEEN with DISTINCT (but left UNSEEN operational
-         for backwards compatibility)
-
-
-0.52   Wed Jul 30 21:06:59 2003
-
-       - Refixed NEXT::UNSEEN bug under diamond inheritance 
-
-
-0.53   Tue Aug 12 10:53:25 2003
-
-       - Re-re-fixed NEXT::UNSEEN bug under diamond inheritance 
-
-
-0.60   Wed Aug 13 03:55:33 2003
-
-       - Re-re-re-fixed NEXT::UNSEEN bug under diamond inheritance 
-         (Note to self: don't code whilst on vacation!)
-
-       - Implemented and documented EVERY functionality
+0.62    Wed Apr  8 03:27:25 2009
+    - Be less aggressive when looking at the symbol table to find
+      methods. This prevents "used only once" warnings on 5.10.
+
+0.61    Tue Mar 24 02:50:26 2009
+    - Pod tweaks (Alan Ferrency).
+    - Fix a bug when using NEXT from within an eval block (Dave Rolsky).
+    - Fix some pod typos (Piotr Fusik).
+    - Fix a bug when using NEXT within overloaded stringification
+      (Marcel GrĂ¼nauer).
+    - Make NEXT work with AUTOLOAD (Damian Conway).
+
+0.60    Wed Aug 13 03:55:33 2003
+    - Re-re-re-fixed NEXT::UNSEEN bug under diamond inheritance
+      (Note to self: don't code whilst on vacation!)
+    - Implemented and documented EVERY functionality
+
+0.53    Tue Aug 12 10:53:25 2003
+    - Re-re-fixed NEXT::UNSEEN bug under diamond inheritance
+
+0.52    Wed Jul 30 21:06:59 2003
+    - Refixed NEXT::UNSEEN bug under diamond inheritance
+
+0.51    Tue Jul 29 23:09:48 2003
+    - Fixed NEXT::UNSEEN bug under diamond inheritance (thanks Dan
+      and Alan)
+    - Moved &ancestors out of NEXT class in case anyone ever
+      calls NEXT::ancestors
+    - Replaced UNSEEN with DISTINCT (but left UNSEEN operational
+      for backwards compatibility)
+
+0.50    Fri Nov 16 11:20:40 2001
+    - Added a $VERSION (oops!)
+    - Fixed handling of diamond patterns (thanks Paul)
+    - Added NEXT::ACTUAL to require existence of next method (thanks Paul)
+    - Added NEXT::UNSEEN to avoid calling multiply inherited
+      methods twice (thanks Paul)
+    - Re-fixed setting of $AUTOLOAD in NEXT'd AUTOLOADS to be
+      consistent with more useful SUPER:: behaviour
+    - Corified tests
+
+0.02    Mon Sep  3 07:52:27 2001
+    - Fixed setting of $AUTOLOAD in NEXT'd AUTOLOADS (thanks Leonid)
+    - Changed licence for inclusion in core distribution
+    - Documented the difference between NEXT and SUPER (thanks Ken)
+
+0.01    Tue Apr 10 18:27:00 EST 2001
+    - original version