Fix [:punct:] bug in UCP mode (matching chars in the range 128-255)
This commit is contained in:
parent
6650a2fd9a
commit
c4b8531a8f
|
@ -318,6 +318,9 @@ with JIT (possibly caused by SSE2?).
|
|||
by a single ASCII character in a class item, was incorrectly compiled in UCP
|
||||
mode. The POSIX class got lost, but only if the single character followed it.
|
||||
|
||||
96. [:punct:] in UCP mode was matching some characters in the range 128-255
|
||||
that should not have been matched.
|
||||
|
||||
|
||||
Version 10.20 30-June-2015
|
||||
--------------------------
|
||||
|
|
|
@ -247,7 +247,7 @@ while ((t = *data++) != XCL_END)
|
|||
|
||||
case PT_PXPUNCT:
|
||||
if ((PRIV(ucp_gentype)[prop->chartype] == ucp_P ||
|
||||
(c < 256 && PRIV(ucp_gentype)[prop->chartype] == ucp_S)) == isprop)
|
||||
(c < 128 && PRIV(ucp_gentype)[prop->chartype] == ucp_S)) == isprop)
|
||||
return !negated;
|
||||
break;
|
||||
|
||||
|
|
|
@ -2233,4 +2233,7 @@
|
|||
/[^\p{Any}]*+x/utf
|
||||
x
|
||||
|
||||
/[[:punct:]]/utf,ucp
|
||||
\x{b4}
|
||||
|
||||
# End of testinput4
|
||||
|
|
|
@ -3620,4 +3620,8 @@ No match
|
|||
x
|
||||
0: x
|
||||
|
||||
/[[:punct:]]/utf,ucp
|
||||
\x{b4}
|
||||
No match
|
||||
|
||||
# End of testinput4
|
||||
|
|
Loading…
Reference in New Issue