develooper Front page | perl.perl5.porters | Postings from December 2012

Re: RFC: Removing several undocumented functions from the Perl core

Thread Previous | Thread Next
Nicholas Clark
December 3, 2012 09:56
Re: RFC: Removing several undocumented functions from the Perl core
Message ID:
On Tue, Nov 27, 2012 at 07:46:26PM -0600, Steve Peters wrote:
> On Tue, Nov 27, 2012 at 4:31 PM, Karl Williamson <>wrote:
> > There are several functions that are no longer used in the Perl core that
> > could be removed, along with their associated interpreter variables.  These
> > are
> >  is_uni_idfirst_lc
> >  is_utf8_idfirst
> >  is_utf8_xidfirst
> >  is_utf8_idcont

[is_uni_idfirst, is_utf8_xidcont, is_utf8_mark]

> > cpan grep with
> > -file:"ppport\.h|PPPort\.pm" is_(uni|utf8)_(mark|x?id(**first|cont))
> >
> > returned 16 results.  None of them look like they are actually using these
> > functions except as compatibility measures.
> >
> > I propose removing them.
> >
> Removing them is decently risky.  I can't say we exactly know what the
> blackpan is doing with them.  Things that are deprecated in the API are
> supposed to be moved to mathoms.c where they can be optimized out with a
> -DNO_MATHOMS when compiling.

That's true enough, but there have been some functions marked as part of the
API that we've actually removed. IIRC they

a) probably never should have been marked as "API"
b) weren't used by anything we could find on CPAN
c) were useless, counterproductive, or downright dangerous

We removed them by marking them as deprecated in embed.fnc (which at least
for gcc we can flag them as "deprecated" in the headers and it warns)
and then after a major release, zapping them.

These functions seem to be pretty similar.

I think we should do the same:

a) mark them as deprecated
b) release 5.18.0
c) see if anyone squeals
d) remove them
e) release 5.20.0

Nicholas Clark

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About