diff options
author | Nicholas Clark <nick@ccl4.org> | 2006-03-16 23:11:11 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2006-03-16 23:11:11 +0000 |
commit | e07ea26af5fdde170ce4e4e0a797a364c6a185e6 (patch) | |
tree | 7d0009f2fe30f4472e8e4ed56660210b01eb8813 /mg.c | |
parent | c1ab7b38fcd3bc8e1433bc0b361e5e875c51124e (diff) | |
download | perl-e07ea26af5fdde170ce4e4e0a797a364c6a185e6.tar.gz |
Add a new per-interpeter variable PL_utf8cache, which will be used to
control the UTF-8 offset caching code. Make this visible as
${^UTF8CACHE}
p4raw-id: //depot/perl@27525
Diffstat (limited to 'mg.c')
-rw-r--r-- | mg.c | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -790,11 +790,13 @@ Perl_magic_get(pTHX_ SV *sv, MAGIC *mg) ? (PL_taint_warn || PL_unsafe ? -1 : 1) : 0); break; - case '\025': /* $^UNICODE, $^UTF8LOCALE */ + case '\025': /* $^UNICODE, $^UTF8LOCALE, $^UTF8CACHE */ if (strEQ(remaining, "NICODE")) sv_setuv(sv, (UV) PL_unicode); else if (strEQ(remaining, "TF8LOCALE")) sv_setuv(sv, (UV) PL_utf8locale); + else if (strEQ(remaining, "TF8CACHE")) + sv_setiv(sv, (IV) PL_utf8cache); break; case '\027': /* ^W & $^WARNING_BITS */ if (nextchar == '\0') @@ -2232,6 +2234,11 @@ Perl_magic_set(pTHX_ SV *sv, MAGIC *mg) PL_basetime = (Time_t)(SvIOK(sv) ? SvIVX(sv) : sv_2iv(sv)); #endif break; + case '\025': /* ^UTF8CACHE */ + if (strEQ(mg->mg_ptr+1, "TF8CACHE")) { + PL_utf8cache = (signed char) sv_2iv(sv); + } + break; case '\027': /* ^W & $^WARNING_BITS */ if (*(mg->mg_ptr+1) == '\0') { if ( ! (PL_dowarn & G_WARN_ALL_MASK)) { |