diff options
Diffstat (limited to 'lib/Reply/Plugin/CarpReply.pm')
-rw-r--r-- | lib/Reply/Plugin/CarpReply.pm | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/lib/Reply/Plugin/CarpReply.pm b/lib/Reply/Plugin/CarpReply.pm index 7206348..3f9622f 100644 --- a/lib/Reply/Plugin/CarpReply.pm +++ b/lib/Reply/Plugin/CarpReply.pm @@ -30,21 +30,11 @@ sub new { $self->{stacktrace} = Devel::StackTrace::WithLexicals->new( ignore_class => ['Reply', 'Carp::Reply', __PACKAGE__], ); - $self->{frame_index} = 0; + $self->_frame_index(0); return $self; } -sub compile { - my $self = shift; - my ($next, $line, %opts) = @_; - - $opts{environment} = $self->_frame->lexicals; - $opts{package} = $self->_frame->package; - - return $next->($line, %opts); -} - sub command_backtrace { my $self = shift; print "Backtrace:\n"; @@ -137,6 +127,12 @@ sub _frame_index { printf "Now at %s:%s (frame $index)\n", $self->_frame->filename, $self->_frame->line; + + $self->publish( + 'lexical_environment', + default => $self->_frame->lexicals + ); + $self->publish('package', $self->_frame->package); } } |