Skip Menu |
 

This queue is for tickets about the Embperl CPAN distribution.

Report information
The Basics
Id: 64990
Status: open
Priority: 0/
Queue: Embperl

People
Owner: Nobody in particular
Requestors: davem [...] iabyn.com
Cc:
AdminCc:

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



Subject: GvCV and GvGP lvalue changes in perl core
Date: Fri, 21 Jan 2011 16:17:50 +0000
To: bug-Embperl [...] rt.cpan.org
From: Dave Mitchell <davem [...] iabyn.com>
Download (untitled) / with headers
text/plain 870b
Hi, A search of sources on CPAN shows that your module(s) use GvCV() and/or GvGP() in an lvalue context (i.e. you assign to it). From perl 5.13.10 onwards, this will no longer be allowed, and you'll need to update your source code in such a way as to be compatible with both existing and the new perls. Probably the easiest way to do this is to add the following definitions: #ifndef GvCV_set # define GvCV_set(gv,cv) (GvGP(gv)->gp_cv = (cv)) #endif #ifndef GvGP_set # define GvGP_set(gv,gp) ((gv)->sv_u.svu_gp = (gp)) #endif then replace code like the following: GvGP(gv) = gp; GvCV(gv) = cv; with GvGP_set(gv, gp); GvCV_set(gv, cv); If you do something like SAVEGENERICSV(&(GvCV(gv))) then you may need to replace it with a custom SAVEDESTRUCTOR() or similar that does a GvCV_set(gv,old_value) upon restoration.
Subject: Re: [rt.cpan.org #64990] AutoReply: GvCV and GvGP lvalue changes in perl core
Date: Fri, 21 Jan 2011 17:35:02 +0000
To: Bugs in Embperl via RT <bug-Embperl [...] rt.cpan.org>
From: Dave Mitchell <davem [...] iabyn.com>
Download (untitled) / with headers
text/plain 459b
On Fri, Jan 21, 2011 at 11:17:59AM -0500, I wrote: Show quoted text
> # define GvCV_set(gv,cv) (GvGP(gv)->gp_cv = (cv))
[snip] Show quoted text
> # define GvGP_set(gv,gp) ((gv)->sv_u.svu_gp = (gp))
Actually on reflection, those could be better written as: #define GvCV_set(gv, cv) (GvCV(gv) = (cv)) #define GvGP_set(gv, gp) (GvGP(gv) = (gp)) -- In the 70's we wore flares because we didn't know any better. What possible excuse does the current generation have?
Subject: RE: [rt.cpan.org #64990] AutoReply: GvCV and GvGP lvalue changes in perl core
Date: Fri, 21 Jan 2011 19:27:33 +0100
To: bug-Embperl [...] rt.cpan.org
From: richter [...] ecos.de
Download (untitled) / with headers
text/plain 908b
Hi Dave, thanks for your hint. I will take care about this for the next release Regards Gerald Show quoted text
> -----Original Message----- > From: Dave Mitchell via RT [mailto:bug-Embperl@rt.cpan.org] > Sent: Friday, January 21, 2011 6:35 PM > Subject: Re: [rt.cpan.org #64990] AutoReply: GvCV and GvGP lvalue changes > in perl core > > Queue: Embperl > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=64990 > > > On Fri, Jan 21, 2011 at 11:17:59AM -0500, I wrote:
> > # define GvCV_set(gv,cv) (GvGP(gv)->gp_cv = (cv))
> [snip]
> > # define GvGP_set(gv,gp) ((gv)->sv_u.svu_gp = (gp))
> > Actually on reflection, those could be better written as: > > #define GvCV_set(gv, cv) (GvCV(gv) = (cv)) > #define GvGP_set(gv, gp) (GvGP(gv) = (gp)) > > > -- > In the 70's we wore flares because we didn't know any better. > What possible excuse does the current generation have?


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.