From: Nicholas Clark Date: Tue, 14 Feb 2006 23:42:45 +0000 (+0000) Subject: Back out change change 10214 (drop SVp_IOK from >> PRIVSHIFT) as it X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=c268c2a6c105d04cb2a165c1cfb63069e7ae2774;p=p5sagit%2Fp5-mst-13.2.git Back out change change 10214 (drop SVp_IOK from >> PRIVSHIFT) as it never felt quite correct, and other parts of the SV conversion implementation have improved such that the symptoms 10214 covered over are gone even without it. p4raw-id: //depot/perl@27184 --- diff --git a/mg.c b/mg.c index 339a6d4..20344ad 100644 --- a/mg.c +++ b/mg.c @@ -100,7 +100,7 @@ S_save_magic(pTHX_ I32 mgs_ix, SV *sv) SvMAGICAL_off(sv); SvREADONLY_off(sv); - SvFLAGS(sv) |= (SvFLAGS(sv) & (SVp_NOK|SVp_POK)) >> PRIVSHIFT; + SvFLAGS(sv) |= (SvFLAGS(sv) & (SVp_IOK|SVp_NOK|SVp_POK)) >> PRIVSHIFT; } /* diff --git a/scope.c b/scope.c index 74a9936..5939877 100644 --- a/scope.c +++ b/scope.c @@ -169,7 +169,7 @@ S_save_scalar_at(pTHX_ SV **sptr) if (SvGMAGICAL(osv)) { const bool oldtainted = PL_tainted; SvFLAGS(osv) |= (SvFLAGS(osv) & - (SVp_NOK|SVp_POK)) >> PRIVSHIFT; + (SVp_IOK|SVp_NOK|SVp_POK)) >> PRIVSHIFT; PL_tainted = oldtainted; } mg_localize(osv, sv); diff --git a/sv.c b/sv.c index 17b7b3d..d599a2f 100644 --- a/sv.c +++ b/sv.c @@ -4424,7 +4424,7 @@ Perl_sv_unmagic(pTHX_ SV *sv, int type) } if (!SvMAGIC(sv)) { SvMAGICAL_off(sv); - SvFLAGS(sv) |= (SvFLAGS(sv) & (SVp_NOK|SVp_POK)) >> PRIVSHIFT; + SvFLAGS(sv) |= (SvFLAGS(sv) & (SVp_IOK|SVp_NOK|SVp_POK)) >> PRIVSHIFT; SvMAGIC_set(sv, NULL); }