diff options
-rw-r--r-- | gv.c | 6 | ||||
-rw-r--r-- | mg.c | 4 |
2 files changed, 8 insertions, 2 deletions
@@ -926,9 +926,11 @@ Perl_gv_fetchpv(pTHX_ const char *nambeg, I32 add, I32 sv_type) if (strEQ(name2, "AINT")) goto ro_magicalize; break; - case '\025': /* $^UNICODE */ + case '\025': /* ${^UNICODE}, ${^UTF8LOCALE} */ if (strEQ(name2, "NICODE")) goto ro_magicalize; + if (strEQ(name2, "TF8LOCALE")) + goto ro_magicalize; break; case '\027': /* $^WARNING_BITS */ if (strEQ(name2, "ARNING_BITS")) @@ -1863,6 +1865,8 @@ Perl_is_gv_magical(pTHX_ char *name, STRLEN len, U32 flags) case '\025': /* ${^UNICODE} */ if (strEQ(name1, "NICODE")) goto yes; + if (strEQ(name1, "TF8LOCALE")) + goto yes; break; case '\027': /* ${^WARNING_BITS} */ if (strEQ(name1, "ARNING_BITS")) @@ -715,9 +715,11 @@ Perl_magic_get(pTHX_ SV *sv, MAGIC *mg) ? (PL_taint_warn || PL_unsafe ? -1 : 1) : 0); break; - case '\025': /* $^UNICODE */ + case '\025': /* $^UNICODE, $^UTF8LOCALE */ if (strEQ(mg->mg_ptr, "\025NICODE")) sv_setuv(sv, (UV) PL_unicode); + else if (strEQ(mg->mg_ptr, "\025TF8LOCALE")) + sv_setuv(sv, (UV) PL_utf8locale); break; case '\027': /* ^W & $^WARNING_BITS */ if (*(mg->mg_ptr+1) == '\0') |