develooper Front page | perl.perl5.porters | Postings from January 2007

Re: New release ?

Thread Previous | Thread Next
From:
Nicholas Clark
Date:
January 18, 2007 04:37
Subject:
Re: New release ?
Message ID:
20070118123644.GE5748@plum.flirble.org
On Thu, Jan 18, 2007 at 11:03:12AM +0100, Andreas J. Koenig wrote:
> >>>>> On Wed, 17 Jan 2007 16:37:35 -0800, "Joshua ben Jore" <twists@gmail.com> said:
> 
>   > On 1/16/07, Tels <nospam-abuse@bloodgate.com> wrote:
>  >> Anyway, back to the topic. The problem at hand is that:
>  >> 
>  >> * Module Foo defined and exports a constant
>  >> * Module Bar imports that constant
>  >> * Pod::Coverage et. al. cannot distinguish between an imported constant,
>  >> and one defined in the module Bar itself.
> 
>   > This is just a bug in Pod::Coverage. If it can't recognize that a
>   > constant was imported from somewhere else then that's the coverage
>   > testing program's problem. What does this have to with 5.10?
>
> Because 26487 "broke" it. Pod::Coverage was working better up to this
> change.

At that point (change 26487) it doesn't actually have enough information to
even know that the "subroutine" was imported. Change 29566 adds enough
information to ensure that the GV flag GvIMPORTED_CV gets turned on, which
has also been historically true for imported subroutines, but there isn't
enough information stored to know the package that the (constant) subroutine
was imported from. The trouble is that Pod::Coverage is checking the package
where the subroutine was created, and if it differs from the current package,
treating it as imported. It's doing it that way, rather than looking for
GvIMPORTED_CV, for backwards compatibility, as far as I can see.

I'm not sure of the best solution, and I've not yet talked to Richard about
it.

Nicholas Clark

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About