From b746972e03adae326b05d48d28107e18b0567fe9 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Wed, 12 May 2010 12:33:44 -0500 Subject: what is this i don't even --- lib/Stash/Manip.pm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/Stash/Manip.pm b/lib/Stash/Manip.pm index 173ba13..a9f4bfa 100644 --- a/lib/Stash/Manip.pm +++ b/lib/Stash/Manip.pm @@ -205,7 +205,13 @@ sub get_package_symbol { my $namespace = $self->namespace; if (!exists $namespace->{$name}) { - if ($type eq 'ARRAY') { + # assigning to the result of this function like + # @{$stash->get_package_symbol('@ISA')} = @new_ISA + # makes the result not visible until the variable is explicitly + # accessed... in the case of @ISA, this might never happen + # for instance, assigning like that and then calling $obj->isa + # will fail. see t/005-isa.t + if ($type eq 'ARRAY' && $name ne 'ISA') { $self->add_package_symbol($variable, []); } elsif ($type eq 'HASH') { -- cgit v1.2.3-54-g00ecf