X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=sv.c;h=fcabd8e5c4aac3047dc621c56ee79e2dd519b635;hb=3d3d4f39342abc069c6470bf0947f2d00d3ead72;hp=7a0b5b3ac911add7ec2de67cffba0fef5b39652d;hpb=ff270d3ac16fa8d51fc9a0dc2660901c9ee1e54f;p=p5sagit%2Fp5-mst-13.2.git diff --git a/sv.c b/sv.c index 7a0b5b3..fcabd8e 100644 --- a/sv.c +++ b/sv.c @@ -295,18 +295,19 @@ S_visit(pTHX_ SVFUNC_t f) return visited; } +#ifdef DEBUGGING + /* called by sv_report_used() for each live SV */ static void do_report_used(pTHX_ SV *sv) { -#ifdef DEBUGGING if (SvTYPE(sv) != SVTYPEMASK) { PerlIO_printf(Perl_debug_log, "****\n"); sv_dump(sv); } -#endif } +#endif /* =for apidoc sv_report_used @@ -5845,6 +5846,8 @@ Perl_sv_inc(pTHX_ register SV *sv) if (SvGMAGICAL(sv)) mg_get(sv); if (SvTHINKFIRST(sv)) { + if (SvREADONLY(sv) && SvFAKE(sv)) + sv_force_normal(sv); if (SvREADONLY(sv)) { if (PL_curcop != &PL_compiling) Perl_croak(aTHX_ PL_no_modify); @@ -5999,6 +6002,8 @@ Perl_sv_dec(pTHX_ register SV *sv) if (SvGMAGICAL(sv)) mg_get(sv); if (SvTHINKFIRST(sv)) { + if (SvREADONLY(sv) && SvFAKE(sv)) + sv_force_normal(sv); if (SvREADONLY(sv)) { if (PL_curcop != &PL_compiling) Perl_croak(aTHX_ PL_no_modify);