Re: [PATCH] Change meaning of \v, \V, and add \h, \H to match Perl6, add \R to match...
Yves Orton [Tue, 1 May 2007 12:35:37 +0000 (14:35 +0200)]
Message-ID: <9b18b3110705010335w1924941ep3eb925a3ed597604@mail.gmail.com>

p4raw-id: //depot/perl@31111

regcomp.c

index 35125d9..4027bda 100644 (file)
--- a/regcomp.c
+++ b/regcomp.c
@@ -6575,9 +6575,9 @@ tryagain:
     case 0xDF:
     case 0xC3:
     case 0xCE:
-        if (FOLD) {
+        if (!LOC && FOLD) {
             U32 len,cp;
-            if (cp = what_len_TRICKYFOLD_safe(RExC_parse,RExC_end,UTF,len)) {
+            if ((cp = what_len_TRICKYFOLD_safe(RExC_parse,RExC_end,UTF,len))) {
                 *flagp |= HASWIDTH; /* could be SIMPLE too, but needs a handler in regexec.regrepeat */
                 RExC_parse+=len-1; /* we get one from nextchar() as well. :-( */
                 ret = reganode(pRExC_state, FOLDCHAR, cp);
@@ -6887,7 +6887,7 @@ tryagain:
                case 0xDF:
                case 0xC3:
                case 0xCE:
-                          if (!FOLD || !is_TRICKYFOLD_safe(p,RExC_end,UTF))
+                          if (LOC || !FOLD || !is_TRICKYFOLD_safe(p,RExC_end,UTF))
                                goto normal_default;
                case '^':
                case '$':