This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Refactor tr/// parsing to work on EBCDIC, fix other bug
authorKarl Williamson <khw@cpan.org>
Fri, 4 Sep 2015 17:32:26 +0000 (11:32 -0600)
committerKarl Williamson <khw@cpan.org>
Tue, 8 Sep 2015 17:35:03 +0000 (11:35 -0600)
commitf424037916111e114a9c424abacc210aac685dff
treebbdc980dfb7bf663725e9233d1e7ca0f03a19250
parent992001bfb28aa89a918dfb566d0413ea40d9b0f5
Refactor tr/// parsing to work on EBCDIC, fix other bug

This expands the concept introduced for regular expressions in v5.22 of
a portable range, to the transliteration operators.  A portable range
has at least one endpoint expressed as \N{} that indicates that the
Unicode definition is desired, or has the endpoints expressed as both
uppercase ASCII alphabetic letters or both lowercase ASCII alphabetics.

The refactor fixes several EBCDIC problems, and it fixes the problem in
all platforms wherein the first endpoint of a range was not checked to
be <= the final endpoint in UTF-8 strings.

There remains a bug in which if any transliterated code point is larger
than IV_MAX, perl loops.
pod/perldelta.pod
pod/perldiag.pod
pod/perlhacktips.pod
pod/perlop.pod
pod/perlport.pod
t/op/tr.t
toke.c