From b4069bca6054692e4fffa8e9e04572511e910fbd Mon Sep 17 00:00:00 2001 From: Karl Williamson Date: Tue, 28 Feb 2012 10:11:35 -0700 Subject: 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. --- t/re/re_tests | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 't') 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 -- cgit v1.2.1