This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Patch [perl #111400] [:upper:] broken for above Latin1
authorKarl Williamson <public@khwilliamson.com>
Tue, 28 Feb 2012 17:11:35 +0000 (10:11 -0700)
committerKarl Williamson <public@khwilliamson.com>
Tue, 28 Feb 2012 17:24:52 +0000 (10:24 -0700)
commitb4069bca6054692e4fffa8e9e04572511e910fbd
tree1f840d06fa883007d35290ad1f411960c583b596
parent5ef3c22d461004ed95fd0cee11e2926f8b87bc7c
Patch [perl #111400] [:upper:] broken for above Latin1

This was an off-by-one error caused by my failing to realize that things
had to be done differently at the 255/256 boundary depending on whether
U+00FF matched or did not match the property.

Two properties were affected, [:upper:] and [:punct:].  The bug was that
all code points above the first one > 255 that legitimately matches the
property will match whether or not they should.  In the case of
[:upper:], this meant that effectively anything from 256..infinity
matched.  For [:punct:], it was anything above U+037D.
charclass_invlists.h
regen/mk_invlists.pl
t/re/re_tests