This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
speed up building with less disk IO pod moves+__END__+misc
[perl5.git] / lib / warnings / register.pm
index c5dc199..0adf104 100644 (file)
@@ -1,6 +1,31 @@
-package warnings::register ;
+package warnings::register;
 
-our $VERSION = '1.00';
+our $VERSION = '1.04';
+require warnings;
+
+# left here as cruft in case other users were using this undocumented routine
+# -- rjbs, 2010-09-08
+sub mkMask
+{
+    my ($bit) = @_;
+    my $mask = "";
+
+    vec($mask, $bit, 1) = 1;
+    return $mask;
+}
+
+sub import
+{
+    shift;
+    my @categories = @_;
+
+    my $package = (caller(0))[0];
+    warnings::register_categories($package);
+
+    warnings::register_categories($package . "::$_") for @categories;
+}
+1;
+__END__
 
 =pod
 
@@ -10,42 +35,12 @@ warnings::register - warnings import function
 
 =head1 SYNOPSIS
 
-    use warnings::register ;
+    use warnings::register;
 
 =head1 DESCRIPTION
 
-Create a warnings category with the same name as the current package.
-
-See L<perlmodlib/Pragmatic Modules> and L<perllexwarn>.
+Creates a warnings category with the same name as the current package.
 
+See L<warnings> for more information on this module's usage.
 
 =cut
-
-require warnings ;
-
-sub mkMask
-{
-    my ($bit) = @_ ;
-    my $mask = "" ;
-
-    vec($mask, $bit, 1) = 1 ;
-    return $mask ;
-}
-
-sub import
-{
-    shift ;
-    my $package = (caller(0))[0] ;
-    if (! defined $warnings::Bits{$package}) {
-        $warnings::Bits{$package}     = mkMask($warnings::LAST_BIT) ;
-        vec($warnings::Bits{'all'}, $warnings::LAST_BIT, 1) = 1 ;
-        $warnings::Offsets{$package}  = $warnings::LAST_BIT ++ ;
-       foreach my $k (keys %warnings::Bits) {
-           vec($warnings::Bits{$k}, $warnings::LAST_BIT, 1) = 0 ;
-       }
-        $warnings::DeadBits{$package} = mkMask($warnings::LAST_BIT);
-        vec($warnings::DeadBits{'all'}, $warnings::LAST_BIT++, 1) = 1 ;
-    }
-}
-
-1 ;