This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Make pad names always UTF8
authorFather Chrysostomos <sprout@cpan.org>
Mon, 24 Nov 2014 08:00:51 +0000 (00:00 -0800)
committerFather Chrysostomos <sprout@cpan.org>
Sun, 30 Nov 2014 19:48:37 +0000 (11:48 -0800)
commit2502ffdfca07fac6972c9b2da7ae160d011c2877
tree36550c7148dabae1b2a8fe766a5b64e523657c6f
parent09c676d973b724f9d8bc07dbb1b115dd8920d5f5
Make pad names always UTF8

Prior to 5.16, pad names never used the UTF8 flag, and all non-ASCII
pad names were in UTF8.  Because the latter was consistently true,
everything just worked anyway.

In 5.16, UTF8 handling was done ‘properly’, so that non-ASCII UTF8
strings were always accompanied by the UTF8 flag.

Now, it is still the case that the only non-ASCII names to make their
way into pad name code are in UTF8.  Since ASCII is a subset of UTF8,
we effectively *always* have UTF8 pad names.  So the flag handling is
actually redundant.

If we just assume that all pad names are UTF8 (which is true), then
we don’t need to bother with the flag checking.  There is actually
no reason why we should have two different encodings for storing
pad names.

So this commit enforces what has always been the case and removes the
extra code for converting between Latin-1 and UTF8.  Nothing on CPAN
is using the UTF8 flag with pads, so nothing should break.  In fact,
we never documented padadd_UTF8_NAME.
ext/XS-APItest/t/fetch_pad_names.t
op.c
pad.c
pad.h
toke.c