Chip noticed that the intended optionality of the 'IV' was
[p5sagit/p5-mst-13.2.git] / mg.c
diff --git a/mg.c b/mg.c
index fae5cda..20673bf 100644 (file)
--- a/mg.c
+++ b/mg.c
@@ -418,7 +418,7 @@ Perl_magic_regdatum_get(pTHX_ SV *sv, MAGIC *mg)
                else                    /* @- */
                    i = s;
 
-               if (i > 0 && PL_reg_match_utf8) {
+               if (i > 0 && RX_MATCH_UTF8(rx)) {
                    char *b = rx->subbeg;
                    if (b)
                        i = Perl_utf8_length(aTHX_ (U8*)b, (U8*)(b+i));
@@ -459,7 +459,7 @@ Perl_magic_len(pTHX_ SV *sv, MAGIC *mg)
            {
                i = t1 - s1;
              getlen:
-               if (i > 0 && PL_reg_match_utf8) {
+               if (i > 0 && RX_MATCH_UTF8(rx)) {
                    char *s    = rx->subbeg + s1;
                    char *send = rx->subbeg + t1;
 
@@ -662,9 +662,9 @@ Perl_magic_get(pTHX_ SV *sv, MAGIC *mg)
                    ? (PL_taint_warn || PL_unsafe ? -1 : 1)
                    : 0);
         break;
-    case '\025':               /* $^UTF8_LOCALE */
-        if (strEQ(mg->mg_ptr, "\025TF8_LOCALE"))
-           sv_setiv(sv, (IV) (PL_wantutf8 && PL_utf8locale));
+    case '\025':               /* $^UNICODE */
+        if (strEQ(mg->mg_ptr, "\025NICODE"))
+           sv_setuv(sv, (UV) PL_unicode);
         break;
     case '\027':               /* ^W  & $^WARNING_BITS */
        if (*(mg->mg_ptr+1) == '\0')
@@ -707,7 +707,7 @@ Perl_magic_get(pTHX_ SV *sv, MAGIC *mg)
              getrx:
                if (i >= 0) {
                    sv_setpvn(sv, s, i);
-                   if (PL_reg_match_utf8 && is_utf8_string((U8*)s, i))
+                   if (RX_MATCH_UTF8(rx) && is_utf8_string((U8*)s, i))
                        SvUTF8_on(sv);
                    else
                        SvUTF8_off(sv);
@@ -1942,12 +1942,6 @@ Perl_magic_set(pTHX_ SV *sv, MAGIC *mg)
        PL_basetime = (Time_t)(SvIOK(sv) ? SvIVX(sv) : sv_2iv(sv));
 #endif
        break;
-    case '\025':       /* $^UTF8_LOCALE */
-        if (SvIOK(sv) ? SvIVX(sv) : sv_2iv(sv))
-           PL_wantutf8 = PL_utf8locale;
-       else
-           PL_wantutf8 = FALSE;
-        break;
     case '\027':       /* ^W & $^WARNING_BITS */
        if (*(mg->mg_ptr+1) == '\0') {
            if ( ! (PL_dowarn & G_WARN_ALL_MASK)) {