diff options
author | Karl Williamson <public@khwilliamson.com> | 2012-02-28 10:11:35 -0700 |
---|---|---|
committer | Karl Williamson <public@khwilliamson.com> | 2012-02-28 10:24:52 -0700 |
commit | b4069bca6054692e4fffa8e9e04572511e910fbd (patch) | |
tree | 1f840d06fa883007d35290ad1f411960c583b596 /t | |
parent | 5ef3c22d461004ed95fd0cee11e2926f8b87bc7c (diff) | |
download | perl-b4069bca6054692e4fffa8e9e04572511e910fbd.tar.gz |
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.
Diffstat (limited to 't')
-rw-r--r-- | t/re/re_tests | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/t/re/re_tests b/t/re/re_tests index e7680c9c23..4d78a6aed8 100644 --- a/t/re/re_tests +++ b/t/re/re_tests @@ -1575,4 +1575,26 @@ abc\N{def - c - \\N{NAME} must be resolved by the lexer # [perl #110648] [^\p{Alphabetic}] \x{100} n - - +# [perl #111400]. Tests the first Y/N boundary above 255 for each of these. +/[[:alnum:]]/ \x{2c1} y - - +/[[:alnum:]]/ \x{2c2} n - - +/[[:alpha:]]/ \x{2c1} y - - +/[[:alpha:]]/ \x{2c2} n - - +/[[:graph:]]/ \x{377} y - - +/[[:graph:]]/ \x{378} n - - +/[[:lower:]]/ \x{100} n - - +/[[:lower:]]/ \x{101} y - - +/[[:lower:]]/ \x{102} n - - +/[[:print:]]/ \x{377} y - - +/[[:print:]]/ \x{378} n - - +/[[:punct:]]/ \x{37D} n - - +/[[:punct:]]/ \x{37E} y - - +/[[:punct:]]/ \x{388} n - - +/[[:upper:]]/ \x{100} y - - +/[[:upper:]]/ \x{101} n - - +/[[:word:]]/ \x{2c1} y - - +/[[:word:]]/ \x{2c2} n - - + + + # vim: softtabstop=0 noexpandtab |