This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Create proper Cygwin $ENV{PATH} in test.pl
[perl5.git] / sv.c
diff --git a/sv.c b/sv.c
index 037c0dc..3d5dc68 100644 (file)
--- a/sv.c
+++ b/sv.c
@@ -3806,11 +3806,11 @@ S_glob_assign_ref(pTHX_ SV *const dstr, SV *const sstr)
            }
        }
        else if (
-           stype == SVt_PVAV && strEQ(GvNAME((GV*)dstr), "ISA")
+           stype == SVt_PVAV && sref != dref
+        && strEQ(GvNAME((GV*)dstr), "ISA")
         /* The stash may have been detached from the symbol table, so
            check its name before doing anything. */
         && GvSTASH(dstr) && HvENAME(GvSTASH(dstr))
-        && sref != dref
        ) {
            MAGIC *mg;
            MAGIC * const omg = dref && SvSMAGICAL(dref)
@@ -12901,6 +12901,7 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags,
     PL_modglobal       = hv_dup_inc(proto_perl->Imodglobal, param);
     PL_custom_op_names  = hv_dup_inc(proto_perl->Icustom_op_names,param);
     PL_custom_op_descs  = hv_dup_inc(proto_perl->Icustom_op_descs,param);
+    PL_custom_ops      = hv_dup_inc(proto_perl->Icustom_ops, param);
 
     PL_profiledata     = NULL;
 
@@ -13694,7 +13695,7 @@ S_find_uninit_var(pTHX_ const OP *const obase, const SV *const uninit_sv,
 
     case OP_GVSV:
        gv = cGVOPx_gv(obase);
-       if (!gv || (match && GvSV(gv) != uninit_sv))
+       if (!gv || (match && GvSV(gv) != uninit_sv) || !GvSTASH(gv))
            break;
        return varname(gv, '$', 0, NULL, 0, FUV_SUBSCRIPT_NONE);