RETPUSHNO;
switch (SvTYPE(sv)) {
case SVt_PVAV:
- if (AvMAX(sv) >= 0 || SvRMAGICAL(sv))
+ if (AvMAX(sv) >= 0 || SvGMAGICAL(sv) || (SvRMAGICAL(sv) && mg_find(sv,'P')))
RETPUSHYES;
break;
case SVt_PVHV:
- if (HvARRAY(sv) || SvRMAGICAL(sv))
+ if (HvARRAY(sv) || SvGMAGICAL(sv) || (SvRMAGICAL(sv) && mg_find(sv,'P')))
RETPUSHYES;
break;
case SVt_PVCV:
test(A->eee(), "new B: In A::eee, 4"); # Which sticks
# this test added due to bug discovery
-test(exists($unknown_package::{"ISA"}) ? "defined" : "undefined", "undefined");
+test(defined(@{"unknown_package::ISA"}) ? "defined" : "undefined", "undefined");