X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit%2FEval-WithLexicals.git;a=blobdiff_plain;f=lib%2FEval%2FWithLexicals.pm;fp=lib%2FEval%2FWithLexicals.pm;h=8faa583930679742779cd1f3774b6693b806ba5d;hp=c30adb2ac5c5bf56b42c9722a320c4d8f90b8f9a;hb=a721c957f533de416b145a3f4d5ac532c9fa8cc0;hpb=bd6e80094785bcfca8cef79c8eecf63712583761 diff --git a/lib/Eval/WithLexicals.pm b/lib/Eval/WithLexicals.pm index c30adb2..8faa583 100644 --- a/lib/Eval/WithLexicals.pm +++ b/lib/Eval/WithLexicals.pm @@ -30,6 +30,8 @@ has prelude => ( is => 'rw', default => quote_sub q{ 'use strictures 1;' } ); +has line => ( is => 'rw', default => 1 ); + sub with_plugins { my($class, @names) = @_; @@ -53,6 +55,8 @@ sub eval { local *Eval::WithLexicals::Cage::grab_captures; my $package = $self->in_package; + my $line = $self->line; + $self->line($line+1); my $setup_code = join '', $self->setup_code, # $_[2] being what is passed to _eval_do below Sub::Quote::capture_unroll('$_[2]', $self->lexicals, 2); @@ -63,7 +67,7 @@ sub eval { ${setup_code} sub Eval::WithLexicals::Cage::current_line { package ${package}; -#line 1 "(eval)" +#line $line "(eval)" ${to_eval} ;sub Eval::WithLexicals::Cage::pad_capture { } ${capture_code}