diff options
author | Jesse Luehrs <doy@tozt.net> | 2013-01-03 19:55:53 -0600 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2013-01-03 19:55:53 -0600 |
commit | d4f755a790d60fee0757d406d397153d99f1649e (patch) | |
tree | 54456e4f6545ad396fa79e14d98143c0eef3b565 /lib | |
parent | cd533531efb6c83b02fd00fc50b264beb066be5f (diff) | |
download | package-stash-d4f755a790d60fee0757d406d397153d99f1649e.tar.gz package-stash-d4f755a790d60fee0757d406d397153d99f1649e.zip |
handle things like PL_sv_undef here
it's B::SPECIAL, not B::SV (sigh)
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Package/Stash/PP.pm | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/Package/Stash/PP.pm b/lib/Package/Stash/PP.pm index 2508052..71ee4e5 100644 --- a/lib/Package/Stash/PP.pm +++ b/lib/Package/Stash/PP.pm @@ -250,7 +250,10 @@ sub has_symbol { return defined ${ *{$entry_ref}{$type} }; } else { - return B::svref_2object($entry_ref)->SV->isa('B::SV'); + my $sv = B::svref_2object($entry_ref)->SV; + return $sv->isa('B::SV') + || ($sv->isa('B::SPECIAL') + && $B::specialsv_name[$$sv] ne 'Nullsv'); } } else { |