Front page | perl.perl5.porters |
Postings from May 2010
Re: [perl #72108] gv_e?fullname[34] improvement
Thread Previous
From:
Tony Cook
Date:
May 30, 2010 16:41
Subject:
Re: [perl #72108] gv_e?fullname[34] improvement
Message ID:
20100530234148.GA20300@mars.tony.develop-help.com
On Sun, May 30, 2010 at 02:19:11PM +0100, Nicholas Clark wrote:
> 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 :-)]
Maybe:
gv_new_e?fullname{,3,4}
though it sort of implies creating a new GV. Otherwise:
gv_e?fullname_new_sv{,3,4}
Tony
Thread Previous