summaryrefslogtreecommitdiff
path: root/sv.c
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2010-10-25 10:00:47 -0700
committerFather Chrysostomos <sprout@cpan.org>2010-10-25 10:45:57 -0700
commit5cf4b255fd1d34956e94675ed15cb7a406e5b3e8 (patch)
tree7d63d3bb3202d7ef750268de26eab7ac99d9b0e5 /sv.c
parentea37b99e78f0d185369ee23611166669880576c6 (diff)
downloadperl-5cf4b255fd1d34956e94675ed15cb7a406e5b3e8.tar.gz
[perl #77498] Assignment ignores magick when the RHS holds a glob
Diffstat (limited to 'sv.c')
-rw-r--r--sv.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/sv.c b/sv.c
index 14b8b3997d..05e13e5285 100644
--- a/sv.c
+++ b/sv.c
@@ -3933,22 +3933,17 @@ Perl_sv_setsv_flags(pTHX_ SV *dstr, register SV* sstr, const I32 flags)
/* case SVt_BIND: */
case SVt_PVLV:
case SVt_PVGV:
- if (isGV_with_GP(sstr) && dtype <= SVt_PVLV) {
- glob_assign_glob(dstr, sstr, dtype);
- return;
- }
/* SvVALID means that this PVGV is playing at being an FBM. */
- /*FALLTHROUGH*/
case SVt_PVMG:
if (SvGMAGICAL(sstr) && (flags & SV_GMAGIC)) {
mg_get(sstr);
if (SvTYPE(sstr) != stype)
stype = SvTYPE(sstr);
- if (isGV_with_GP(sstr) && dtype <= SVt_PVLV) {
+ }
+ if (isGV_with_GP(sstr) && dtype <= SVt_PVLV) {
glob_assign_glob(dstr, sstr, dtype);
return;
- }
}
if (stype == SVt_PVLV)
SvUPGRADE(dstr, SVt_PVNV);