Skip Menu |

This queue is for tickets about the libalarm CPAN distribution.

Report information
The Basics
Id: 66886
Status: open
Priority: 0/
Queue: libalarm

People
Owner: Nobody in particular
Requestors: tmetro [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: (no value)
Fixed in: (no value)



Subject: :OVERLOAD incorrectly documented as :OVERRIDE
Whether it is the code or the documentation that is broken is your call, but the two don't match. This fragment of code illustrates it: sub import { my $thispkg = shift; # Look for and remove special :OVERRIDE tag. my $override = 0; @_ = grep { ($_ eq ':OVERLOAD') ? ($override = 1, 0) : 1 } @_; Note how the comment (and all POD) says ":OVERRIDE" while the code is looking for ":OVERLOAD".
On Fri Mar 25 02:32:13 2011, TMETRO wrote: Show quoted text
> Whether it is the code or the documentation that is broken is your call, > but the two don't match....
I assumed the correct tag was OVERRIDE, since it was so documented not only in the POD but also in comments and the variable name. The following patch seemed to clear things up: @@ -111,12 +111,12 @@ sub import { # Look for and remove special :OVERRIDE tag. my $override = 0; - @_ = grep { ($_ eq ':OVERLOAD') ? ($override = 1, 0) : 1 } @_; + @_ = grep { ($_ eq ':OVERRIDE') ? ($override = 1, 0) : 1 } @_; if($override) { $thispkg->export('CORE::GLOBAL', 'alarm'); Alarm::_TieSIG::tiesig(); # ALL YOUR %SIG ARE BELONG TO US!!! - }; + } $thispkg->export_to_level(1, $thispkg, @_); # export the rest } (wow... 7 years?!?)
Sorry; wish we could edit posts... This post supersedes my previous post today. That post SHOULD HAVE read: Show quoted text
> On Fri Mar 25 02:32:13 2011, TMETRO wrote:
> > Whether it is the code or the documentation that is broken is your > > call, > > but the two don't match....
>
I assumed the correct tag was OVERRIDE, since it was so documented not only in the POD but also in comments and the variable name. The following patch seemed to clear things up. The VERSION change is optional... I just wanted to differentiate the code. I found a second reference to "OVERLOAD" (just a documentation thereof) and corrected it here. --- a/common/usr/tools/backup/perl5/3.10.0/perls/perl-5.24.0/lib/site_perl/5.24.0/Alarm/Concurrent.pm +++ b/common/usr/tools/backup/perl5/3.10.0/perls/perl-5.24.0/lib/site_perl/5.24.0/Alarm/Concurrent.pm @@ -1,6 +1,6 @@ package Alarm::Concurrent; -$VERSION = 1.0; +$VERSION = 1.01; use strict; @@ -111,12 +111,12 @@ sub import { # Look for and remove special :OVERRIDE tag. my $override = 0; - @_ = grep { ($_ eq ':OVERLOAD') ? ($override = 1, 0) : 1 } @_; + @_ = grep { ($_ eq ':OVERRIDE') ? ($override = 1, 0) : 1 } @_; if($override) { $thispkg->export('CORE::GLOBAL', 'alarm'); Alarm::_TieSIG::tiesig(); # ALL YOUR %SIG ARE BELONG TO US!!! - }; + } $thispkg->export_to_level(1, $thispkg, @_); # export the rest } @@ -372,7 +372,7 @@ if you had called C<setalarm()> for it). This function may not be imported. Note: Do B<not> call this function if you have imported -the C<:OVERLOAD> symbol. It can have unpredictable results. +the C<:OVERRIDE> symbol. It can have unpredictable results. =cut sub restore(;$) { (wow... 7 years?!?)