dslinux/user/perl/lib/NEXT Changes README
cayenne
dslinux_cayenne at user.in-berlin.de
Tue Dec 5 05:27:15 CET 2006
Update of /cvsroot/dslinux/dslinux/user/perl/lib/NEXT
In directory antilope:/tmp/cvs-serv7729/lib/NEXT
Added Files:
Changes README
Log Message:
Adding fresh perl source to HEAD to branch from
--- NEW FILE: README ---
==============================================================================
Release of version 0.60 of NEXT
==============================================================================
NAME
NEXT - Pseudo class for method redispatch
DESCRIPTION
NEXT.pm adds a pseudoclass named C<NEXT> to any program that
uses it. If a method C<m> calls C<$self->NEXT::m()>, the call to
C<m> is redispatched as if the calling method had not originally
been found.
In other words, a call to C<$self->NEXT::m()> resumes the
depth-first, left-to-right search of parent classes that
resulted in the original call to C<m>.
Note that this is not the same thing as C<$self->SUPER::m()>, which
begins a new dispatch that is restricted to searching the ancestors
of the current class. C<$self->NEXT::m()> can backtrack past
the current class -- to look for a suitable method in other
ancestors of C<$self> -- whereas C<$self->SUPER::m()> cannot.
An particularly interesting use of redispatch is in
C<AUTOLOAD>'ed methods. If such a method determines that it is
not able to handle a particular call, it may choose to
redispatch that call, in the hope that some other C<AUTOLOAD>
(above it, or to its left) might do better.
The module also allows you to specify that multiply inherited
methods should only be redispatched once, and what should
happen if no redispatch is possible.
AUTHOR
Damian Conway (damian at conway.org)
COPYRIGHT
Copyright (c) 2000-2001, Damian Conway. All Rights Reserved.
This module is free software. It may be used, redistributed
and/or modified under the same terms as Perl itself.
==============================================================================
CHANGES IN VERSION 0.60
- Re-re-re-fixed NEXT::UNSEEN bug under diamond inheritance
(Note to self: don't code whilst on vacation!)
- Implemented and documented EVERY functionality
==============================================================================
AVAILABILITY
NEXT has been uploaded to the CPAN
==============================================================================
--- NEW FILE: Changes ---
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
More information about the dslinux-commit
mailing list