diff options
author | Staszek Wawrykiewicz <staw@gust.org.pl> | 2006-12-18 03:24:34 +0000 |
---|---|---|
committer | Staszek Wawrykiewicz <staw@gust.org.pl> | 2006-12-18 03:24:34 +0000 |
commit | fbf4a6e8014789c67a381e0b4f05de5bdadbce24 (patch) | |
tree | 20cc48dd29799a673fe0a628e825114d823493b1 /Master/perltl/lib/warnings | |
parent | 34c11d2616bb32772199abf210ae88d99665a824 (diff) |
perltl added
git-svn-id: svn://tug.org/texlive/trunk@2778 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/perltl/lib/warnings')
-rw-r--r-- | Master/perltl/lib/warnings/register.pm | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/Master/perltl/lib/warnings/register.pm b/Master/perltl/lib/warnings/register.pm new file mode 100644 index 00000000000..c5dc1999a03 --- /dev/null +++ b/Master/perltl/lib/warnings/register.pm @@ -0,0 +1,51 @@ +package warnings::register ; + +our $VERSION = '1.00'; + +=pod + +=head1 NAME + +warnings::register - warnings import function + +=head1 SYNOPSIS + + 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>. + + +=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 ; |