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

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

Thread Previous | Thread Next
Kent Fredric
February 19, 2017 18:51
Re: Proposal: Rename utf8::is_utf8() to utf8::is_upgraded()
Message ID:
On 20 February 2017 at 07:41, Father Chrysostomos <> 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's synopsis
2. Make it *much* clearer in 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(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.



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