more efficient Text::Abbrev (from M.E. O'Neill <oneill@cs.sfu.ca>)
[p5sagit/p5-mst-13.2.git] / lib / warnings / register.pm
CommitLineData
d3a7d8c7 1package warnings::register ;
2
3require warnings ;
4
5sub mkMask
6{
7 my ($bit) = @_ ;
8 my $mask = "" ;
9
10 vec($mask, $bit, 1) = 1 ;
11 return $mask ;
12}
13
14sub import
15{
16 shift ;
17 my $package = (caller(0))[0] ;
18 if (! defined $warnings::Bits{$package}) {
19 $warnings::Bits{$package} = mkMask($warnings::LAST_BIT) ;
20 vec($warnings::Bits{'all'}, $warnings::LAST_BIT, 1) = 1 ;
21 $warnings::Offsets{$package} = $warnings::LAST_BIT ++ ;
22 foreach my $k (keys %warnings::Bits) {
23 vec($warnings::Bits{$k}, $warnings::LAST_BIT, 1) = 0 ;
24 }
25 $warnings::DeadBits{$package} = mkMask($warnings::LAST_BIT);
26 vec($warnings::DeadBits{'all'}, $warnings::LAST_BIT++, 1) = 1 ;
27 }
28}
29
301 ;