develooper Front page | perl.perl5.porters | Postings from May 2010

Re: [perl #72108] gv_e?fullname[34] improvement

Thread Previous | Thread Next
From:
Nicholas Clark
Date:
May 30, 2010 06:19
Subject:
Re: [perl #72108] gv_e?fullname[34] improvement
Message ID:
20100530131911.GG31795@plum.flirble.org
On Mon, Jan 18, 2010 at 10:29:00AM +1100, Tony Cook wrote:
> On Fri, Jan 15, 2010 at 08:46:43AM -0800, Nicholas Clark wrote:

> > It seems that a fairly common pairing in the perl source is:
> > 
> > 	    tmpsv = newSV(0);
> > 	    gv_efullname3(tmpsv, gv, NULL);
> > 
> > or generating a new mortal and passing it in.
> > 
> > All functions in the gv_e?fullname{,3,4} family are ultimately wrappers
> > around gv_fullname4(), which currently returns void, and takes a not NULL
> > first argument.
> > 
> > It would probably reduce the core's code size to change it to return SV *,
> > and generate a new SV (possibly mortal) if the first argument is NULL.
> 
> Instead of overloading the interface, wouldn't it be better to add
> extra functions that create the GV, and then calls gv_e?fullname4().
> 
> The new functions could be marked with the R flag to make sure the
> returned new GV isn't ignored.

That's a good point.

Do you have any suggestions for a name? [in 32 or fewer ASCII characters :-)]

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