From c72a4eedff166d5a772fd687231c39fd8ea270c6 Mon Sep 17 00:00:00 2001 From: Father Chrysostomos Date: Sat, 22 Jun 2013 16:14:24 -0700 Subject: [PATCH] sv.c: Make sv_force_normal always croak on ro SVs MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Commit 8990e30710 (perl 5.0 alpha 6) changed several SvREADONLY checks to apply only to run time. This is convenient when it comes to modify- ing op trees, whose SVs are, for the most part, marked read-only. But several pieces of code that relied on this were buggy when dealing with constants created by ‘use constant’. To make it harder to add such bugs, I have changed all code that relies on this exception and am now removing it. --- sv.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/sv.c b/sv.c index db0fac5..1b8d45b 100644 --- a/sv.c +++ b/sv.c @@ -4861,7 +4861,6 @@ Perl_sv_force_normal_flags(pTHX_ SV *const sv, const U32 flags) #ifdef PERL_ANY_COW if (SvREADONLY(sv)) { - if (IN_PERL_RUNTIME) Perl_croak_no_modify(); } else if (SvIsCOW(sv)) { @@ -4920,7 +4919,6 @@ Perl_sv_force_normal_flags(pTHX_ SV *const sv, const U32 flags) } #else if (SvREADONLY(sv)) { - if (IN_PERL_RUNTIME) Perl_croak_no_modify(); } else -- 2.7.4