casefold backref
Hugo van der Sanden [Wed, 5 Dec 2001 17:27:05 +0000 (17:27 +0000)]
Message-Id: <200112051727.fB5HR5422706@crypt.compulink.co.uk>

p4raw-id: //depot/perl@13485

regexec.c
t/op/re_tests

index 415bc70..6ba0975 100644 (file)
--- a/regexec.c
+++ b/regexec.c
@@ -3354,13 +3354,13 @@ S_regmatch(pTHX_ regnode *prog)
 
                    if (!UTF) {
                        c2 = c1 = *s;
-                       if (OP(text_node) == EXACTF)
+                       if (OP(text_node) == EXACTF || OP(text_node) == REFF)
                            c2 = PL_fold[c1];
-                       else if (OP(text_node) == EXACTFL)
+                       else if (OP(text_node) == EXACTFL || OP(text_node) == REFFL)
                            c2 = PL_fold_locale[c1];
                    }
                    else { /* UTF */
-                       if (OP(text_node) == EXACTF) {
+                       if (OP(text_node) == EXACTF || OP(text_node) == REFF) {
                             STRLEN ulen1, ulen2;
                             U8 tmpbuf1[UTF8_MAXLEN*2+1];
                             U8 tmpbuf2[UTF8_MAXLEN*2+1];
index c7ab5ad..3d939a6 100644 (file)
@@ -796,3 +796,4 @@ ab(?i)cd    abCd    y       -       -
 (A|B)*(?(1)(CD)|(CD))  ABCD    y       $2-$3   CD-
 (A|B)*?(?(1)(CD)|(CD)) CD      y       $2-$3   -CD     # [ID 20010803.016]
 (A|B)*?(?(1)(CD)|(CD)) ABCD    y       $2-$3   CD-
+'^(o)(?!.*\1)'i        Oo      n       -       -