regcharclass.h: Add macro for non-ASCII PATWS
authorKarl Williamson <public@khwilliamson.com>
Tue, 22 Jan 2013 20:30:01 +0000 (13:30 -0700)
committerKarl Williamson <public@khwilliamson.com>
Thu, 24 Jan 2013 02:35:34 +0000 (19:35 -0700)
This will be used to deprecate uses of non-ASCII Pattern White Space

regcharclass.h
regen/regcharclass.pl

index b41fbbb..e51fe64 100644 (file)
 : 0 )
 
 /*** GENERATED CODE ***/
+#define is_PATWS_non_low(s,is_utf8)                                         \
+( ( is_utf8 ) ?                                                             \
+    ( ( 0xC2 == ((U8*)s)[0] ) ?                                             \
+       ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                                 \
+    : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0x8E || ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
+: ( 0x85 == ((U8*)s)[0] ) )
+
+/*** GENERATED CODE ***/
+#define is_PATWS_non_low_safe(s,e,is_utf8)                                  \
+( ((e)-(s) > 2) ?                                                           \
+    ( ( is_utf8 ) ?                                                         \
+       ( ( 0xC2 == ((U8*)s)[0] ) ?                                         \
+           ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                             \
+       : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0x8E || ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
+    : ( 0x85 == ((U8*)s)[0] ) )                                             \
+: ((e)-(s) > 1) ?                                                           \
+    ( ( is_utf8 ) ?                                                         \
+       ( ( ( 0xC2 == ((U8*)s)[0] ) && ( 0x85 == ((U8*)s)[1] ) ) ? 2 : 0 )  \
+    : ( 0x85 == ((U8*)s)[0] ) )                                             \
+: ( ((e)-(s) > 0) && ( !( is_utf8 ) ) ) ? ( 0x85 == ((U8*)s)[0] ) : 0 )
+
+/*** GENERATED CODE ***/
 #define is_PATWS_cp(cp)                                                     \
 ( ( 0x09 <= cp && cp <= 0x0D ) || ( 0x0D < cp &&                            \
 ( 0x20 == cp || ( 0x20 < cp &&                                              \
index d3a9124..f5cf315 100755 (executable)
@@ -1497,5 +1497,5 @@ MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
 # 0 => Latin1-only
 
 PATWS: pattern white space
-=> generic cp : fast safe
+=> generic generic_non_low cp : fast safe
 \p{PatWS}