Bumping version to 1.003003
[p5sagit/Eval-WithLexicals.git] / lib / Eval / WithLexicals.pm
index 79d88f0..3f0a0e0 100644 (file)
@@ -4,7 +4,7 @@ use Moo;
 use Moo::Role ();
 use Sub::Quote;
 
-our $VERSION = '1.003000'; # 1.3.0
+our $VERSION = '1.003003'; # 1.3.3
 $VERSION = eval $VERSION;
 
 has lexicals => (is => 'rw', default => quote_sub q{ {} });
@@ -69,7 +69,8 @@ ${to_eval}
 ${capture_code}
 sub Eval::WithLexicals::Cage::grab_captures {
   no warnings 'closure'; no strict 'vars';
-  package Eval::WithLexicals::VarScope;!;
+  package! # hide from PAUSE
+    .q! Eval::WithLexicals::VarScope;!;
   # rest is appended by Eval::WithLexicals::Util::capture_list, called
   # during parsing by the BEGIN block from capture_code.
 
@@ -123,13 +124,14 @@ sub _eval_do {
 }
 
 {
-  package Eval::WithLexicals::Util;
+  package # hide from PAUSE
+    Eval::WithLexicals::Util;
 
   use B qw(svref_2object);
 
   sub capture_list {
     my $pad_capture = \&Eval::WithLexicals::Cage::pad_capture;
-    my @names = grep $_ ne '&', map $_->PV, grep $_->isa('B::PV'),
+    my @names = grep defined && length && $_ ne '&', map $_->PV, grep $_->can('PV'),
       svref_2object($pad_capture)->OUTSIDE->PADLIST->ARRAYelt(0)->ARRAY;
     $Eval::WithLexicals::current_code .=
       '+{ '.join(', ', map "'$_' => \\$_", @names).' };'