This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
make corelist switches always case sensitive
[perl5.git] / regcomp.h
index dca3bfe..21d2e1e 100644 (file)
--- a/regcomp.h
+++ b/regcomp.h
@@ -362,36 +362,39 @@ struct regnode_charclass_class {
 /* Should be synchronized with a table in regprop() */
 /* 2n should be the normal one, paired with its complement at 2n+1 */
 
-#define ANYOF_WORDCHAR ((_CC_WORDCHAR) * 2)  /* \w, PL_utf8_alnum, utf8::IsWord, ALNUM */
-#define ANYOF_NWORDCHAR   ((ANYOF_WORDCHAR) + 1)
-#define ANYOF_SPACE    ((_CC_SPACE) * 2)     /* \s */
-#define ANYOF_NSPACE   ((ANYOF_SPACE) + 1)
-#define ANYOF_DIGIT    ((_CC_DIGIT) * 2)     /* \d */
-#define ANYOF_NDIGIT   ((ANYOF_DIGIT) + 1)
-#define ANYOF_ALPHANUMERIC   ((_CC_ALPHANUMERIC) * 2)    /* [[:alnum:]] isalnum(3), utf8::IsAlnum */
-#define ANYOF_NALPHANUMERIC  ((ANYOF_ALPHANUMERIC) + 1)
 #define ANYOF_ALPHA    ((_CC_ALPHA) * 2)
 #define ANYOF_NALPHA   ((ANYOF_ALPHA) + 1)
+#define ANYOF_ALPHANUMERIC   ((_CC_ALPHANUMERIC) * 2)    /* [[:alnum:]] isalnum(3), utf8::IsAlnum */
+#define ANYOF_NALPHANUMERIC  ((ANYOF_ALPHANUMERIC) + 1)
 #define ANYOF_ASCII    ((_CC_ASCII) * 2)
 #define ANYOF_NASCII   ((ANYOF_ASCII) + 1)
+#define ANYOF_BLANK    ((_CC_BLANK) * 2)     /* GNU extension: space and tab: non-vertical space */
+#define ANYOF_NBLANK   ((ANYOF_BLANK) + 1)
+#define ANYOF_CASED    ((_CC_CASED) * 2)    /* Pseudo class for [:lower:] or
+                                               [:upper:] under /i */
+#define ANYOF_NCASED   ((ANYOF_CASED) + 1)
 #define ANYOF_CNTRL    ((_CC_CNTRL) * 2)
 #define ANYOF_NCNTRL   ((ANYOF_CNTRL) + 1)
+#define ANYOF_DIGIT    ((_CC_DIGIT) * 2)     /* \d */
+#define ANYOF_NDIGIT   ((ANYOF_DIGIT) + 1)
 #define ANYOF_GRAPH    ((_CC_GRAPH) * 2)
 #define ANYOF_NGRAPH   ((ANYOF_GRAPH) + 1)
 #define ANYOF_LOWER    ((_CC_LOWER) * 2)
 #define ANYOF_NLOWER   ((ANYOF_LOWER) + 1)
 #define ANYOF_PRINT    ((_CC_PRINT) * 2)
 #define ANYOF_NPRINT   ((ANYOF_PRINT) + 1)
+#define ANYOF_PSXSPC   ((_CC_PSXSPC) * 2)    /* POSIX space: \s plus the vertical tab */
+#define ANYOF_NPSXSPC  ((ANYOF_PSXSPC) + 1)
 #define ANYOF_PUNCT    ((_CC_PUNCT) * 2)
 #define ANYOF_NPUNCT   ((ANYOF_PUNCT) + 1)
+#define ANYOF_SPACE    ((_CC_SPACE) * 2)     /* \s */
+#define ANYOF_NSPACE   ((ANYOF_SPACE) + 1)
 #define ANYOF_UPPER    ((_CC_UPPER) * 2)
 #define ANYOF_NUPPER   ((ANYOF_UPPER) + 1)
+#define ANYOF_WORDCHAR ((_CC_WORDCHAR) * 2)  /* \w, PL_utf8_alnum, utf8::IsWord, ALNUM */
+#define ANYOF_NWORDCHAR   ((ANYOF_WORDCHAR) + 1)
 #define ANYOF_XDIGIT   ((_CC_XDIGIT) * 2)
 #define ANYOF_NXDIGIT  ((ANYOF_XDIGIT) + 1)
-#define ANYOF_PSXSPC   ((_CC_PSXSPC) * 2)    /* POSIX space: \s plus the vertical tab */
-#define ANYOF_NPSXSPC  ((ANYOF_PSXSPC) + 1)
-#define ANYOF_BLANK    ((_CC_BLANK) * 2)     /* GNU extension: space and tab: non-vertical space */
-#define ANYOF_NBLANK   ((ANYOF_BLANK) + 1)
 
 /* pseudo classes below this, not stored in the class bitmap, but used as flags
    during compilation of char classes */
@@ -826,11 +829,9 @@ re.pm, especially to the documentation.
     if (re_debug_flags & RE_DEBUG_EXTRA_GPOS) x )
 
 /* initialization */
-/* get_sv() can return NULL during global destruction.  re_debug_flags can get
- * clobbered by a longjmp, so must be initialized */
+/* get_sv() can return NULL during global destruction. */
 #define GET_RE_DEBUG_FLAGS DEBUG_r({ \
         SV * re_debug_flags_sv = NULL; \
-        re_debug_flags = 0;            \
         re_debug_flags_sv = get_sv(RE_DEBUG_FLAGS, 1); \
         if (re_debug_flags_sv) { \
             if (!SvIOK(re_debug_flags_sv)) \