From: Vincent Pit Date: Sun, 25 Jul 2010 08:29:26 +0000 (+0200) Subject: Small cleanup in _fetch X-Git-Tag: v0.06~6 X-Git-Url: http://git.vpit.fr/?a=commitdiff_plain;h=27e144152262c7db7af02f0959345e201650e479;p=perl%2Fmodules%2Fsubs-auto.git Small cleanup in _fetch --- diff --git a/lib/subs/auto.pm b/lib/subs/auto.pm index 9334561..9ec0687 100644 --- a/lib/subs/auto.pm +++ b/lib/subs/auto.pm @@ -111,12 +111,14 @@ sub _fetch { return if $data->{guard} or $func =~ /::/ or exists $core{$func}; local $data->{guard} = 1; + my $pkg = $data->{pkg}; + my $hints = (caller 0)[10]; if ($hints and $hints->{+(__PACKAGE__)}) { my $pm = $func . '.pm'; return if exists $INC{$pm}; - my $fqn = $data->{pkg} . '::' . $func; + my $fqn = $pkg . '::' . $func; my $cb = do { no strict 'refs'; *$fqn{CODE} }; if ($cb) { if (_REFCNT_PLACEHOLDERS and defined(my $data = getdata(&$cb, $tag))) { @@ -136,7 +138,7 @@ sub _fetch { no strict 'refs'; *$fqn = $cb; } else { - _reset($data->{pkg}, $func); + _reset($pkg, $func); } return;