X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;ds=sidebyside;f=Magic.xs;h=5dc98a6d3a9038579ade44e4eefa02856bf13bbb;hb=12570a1f39c0588d6ae68281b45ef1b7e6083958;hp=ca90b7f0a781ec5870bb3aa3a00edc541bad0611;hpb=fb63c158ed67d2aa769f142956b649c520341249;p=perl%2Fmodules%2FVariable-Magic.git diff --git a/Magic.xs b/Magic.xs index ca90b7f..5dc98a6 100644 --- a/Magic.xs +++ b/Magic.xs @@ -1305,7 +1305,7 @@ STATIC I32 vmg_svt_val(pTHX_ IV action, SV *sv) { } } - if (SvRMAGICAL(sv) && !tied) { + if (SvRMAGICAL(sv) && !tied && !(action & (HV_FETCH_ISSTORE|HV_DELETE))) { /* Temporarily hide the RMAGICAL flag of the hash so it isn't wrongly * mistaken for a tied hash by the rest of hv_common. It will be reset by * the op_ppaddr of a new fake op injected between the current and the next