summaryrefslogtreecommitdiff
path: root/pp.c
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>1998-11-28 14:09:50 +0000
committerGurusamy Sarathy <gsar@cpan.org>1998-11-28 14:09:50 +0000
commit6051dbdb749e970695dd861ca273edafbbb539cb (patch)
treef7a1d7f49b5c4a5982473a8640e67884b797ff16 /pp.c
parentbbc8e6a4a34cbf904dc23fa18f4e503924aea3f8 (diff)
downloadperl-6051dbdb749e970695dd861ca273edafbbb539cb.tar.gz
more conservative version of changes#2345,2346,2347; those break
C<defined(@{"foo::ISA"})> which seems to be extensively used in the libs :-( p4raw-link: @2347 on //depot/perl: bbc8e6a4a34cbf904dc23fa18f4e503924aea3f8 p4raw-link: @2346 on //depot/perl: 659eaf7385567ca82dd230a62d6a7f51364f0d0a p4raw-link: @2345 on //depot/perl: 6b377df57679ab68ed17b736ebee0458acb25b21 p4raw-id: //depot/perl@2348
Diffstat (limited to 'pp.c')
-rw-r--r--pp.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/pp.c b/pp.c
index 7b7eb6774a..0bd4842bb3 100644
--- a/pp.c
+++ b/pp.c
@@ -727,11 +727,11 @@ PP(pp_defined)
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: