use strict 'vars';
use vars qw($VERSION);
-$VERSION = '2.12';
+$VERSION = '2.13';
# constant.pm is slow
sub SUCCESS () { 1 }
my $fields_base;
my $inheritor = caller(0);
+ my @isa_classes;
foreach my $base (@_) {
if ( $inheritor eq $base ) {
${$base.'::VERSION'} = "-1, set by base.pm"
unless defined ${$base.'::VERSION'};
}
- push @{"$inheritor\::ISA"}, $base;
+ push @isa_classes, $base;
if ( has_fields($base) || has_attr($base) ) {
# No multiple fields inheritance *suck*
}
}
}
+ # Save this until the end so it's all or nothing if the above loop croaks.
+ push @{"$inheritor\::ISA"}, @isa_classes;
if( defined $fields_base ) {
inherit_fields($inheritor, $fields_base);
+2.13
+ - push all classes at once in @ISA
+
2.12 Fri Jul 6 00:57:15 PDT 2007
Test Features
- Test that base.pm preserves $VERSION after real module loading.