From: Florian Ragwitz Date: Wed, 8 Apr 2009 01:37:43 +0000 (+0200) Subject: Upgrade to NEXT-0.62. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=082b74eb74586857de13c8c1c1d19f6f3a2da06e;p=p5sagit%2Fp5-mst-13.2.git Upgrade to NEXT-0.62. --- diff --git a/lib/NEXT.pm b/lib/NEXT.pm index dc31277..053ee10 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 fc34098..47b5693 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