develooper Front page | perl.perl5.porters | Postings from February 2017

Re: Proposal: Rename utf8::is_utf8() to utf8::is_upgraded()

Thread Previous | Thread Next
From:
Kent Fredric
Date:
February 19, 2017 18:51
Subject:
Re: Proposal: Rename utf8::is_utf8() to utf8::is_upgraded()
Message ID:
CAATnKFASC+UaJO20rk9mzLvRbyDg8OLX16sXcyPhvvpxf-EM-A@mail.gmail.com
On 20 February 2017 at 07:41, Father Chrysostomos <sprout@cpan.org> wrote:
> I do not.  The main reasons for using the function are to work around
> problems with buggy XS modules.  Adding a synonym for a function that
> most correct code should not be using seems like the wrong direction
> to be going in.

A better direction IMHO would be:

1. Remove is_utf8 from utf8.pm's synopsis
2. Make it *much* clearer in utf8.pm that is_utf8 is not something
people should use, because the current description doesn't give any
direction in this regard:

    *   "$flag = utf8::is_utf8($string)"

        (Since Perl 5.8.1) Test whether $string is marked internally as
        encoded in UTF-8. Functionally the same as "Encode::is_utf8()".

And the followed ref says:

   is_utf8
      is_utf8(STRING [, CHECK])

    [INTERNAL] Tests whether the UTF8 flag is turned on in the STRING. If
    CHECK is true, also checks whether STRING contains well-formed UTF-8.
    Returns true if successful, false otherwise.

    As of Perl 5.8.1, utf8 also has the "utf8::is_utf8" function.

Doesn't really convey any sort of clarity here as to where and when it
makes sense to use, or stipulate clearly that typical expectations of
what this does is wrong.

Can't expect people to do the right thing if even the documentation
doesn't help.


-- 
Kent

KENTNL - https://metacpan.org/author/KENTNL

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