summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorRafael Garcia-Suarez <rgarciasuarez@gmail.com>2009-04-09 09:56:39 +0200
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2009-04-09 09:56:39 +0200
commit5929274fd6ebc76e42a2d2e13c4ababb594a4a5a (patch)
tree3b1ad0eb2b9a1bd1e8505da73c10d517578e63a0 /lib
parent932dfdf14c16835fc3ab6ba0cb0dab9254dfd017 (diff)
parent082b74eb74586857de13c8c1c1d19f6f3a2da06e (diff)
downloadperl-5929274fd6ebc76e42a2d2e13c4ababb594a4a5a.tar.gz
Merge commit 'rafl/blead' into blead
Diffstat (limited to 'lib')
-rw-r--r--lib/NEXT.pm18
-rw-r--r--lib/NEXT/Changes115
2 files changed, 61 insertions, 72 deletions
diff --git a/lib/NEXT.pm b/lib/NEXT.pm
index dc3127763b..053ee1097d 100644
--- a/lib/NEXT.pm
+++ b/lib/NEXT.pm
@@ -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}}++;
}
diff --git a/lib/NEXT/Changes b/lib/NEXT/Changes
index fc34098778..47b5693d9e 100644
--- a/lib/NEXT/Changes
+++ b/lib/NEXT/Changes
@@ -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