update B::Concise plugin for error handling
nothingmuch [Mon, 5 May 2008 18:41:35 +0000 (18:41 +0000)]
git-svn-id: http://dev.catalyst.perl.org/repos/bast/trunk/Devel-REPL@4328 bd8105ee-0ff8-0310-8827-fb3f25b6796d

lib/Devel/REPL/Plugin/B/Concise.pm
lib/Devel/REPL/Plugin/Peek.pm

index b065b60..b262164 100644 (file)
@@ -30,13 +30,17 @@ sub expr_command_concise {
 
   my $sub = $self->compile($code, no_mangling => 1);
 
-  open my $fh, ">", \my $out;
-  {
-    local *STDOUT = $fh;
-    B::Concise::compile((split /\s+/, $opts), $sub)->();
+  if ( $self->is_error($sub) ) {
+    return $self->format($sub);
+  } else {
+    open my $fh, ">", \my $out;
+    {
+      local *STDOUT = $fh;
+      B::Concise::compile((split /\s+/, $opts), $sub)->();
+    }
+
+    return $out;
   }
-
-  return $out;
 }
 
 __PACKAGE__
index e6f4893..f9bb3ed 100644 (file)
@@ -12,10 +12,6 @@ with qw(Devel::REPL::Plugin::Turtles);
 sub expr_command_peek {
   my ( $self, $eval, $code ) = @_;
 
-  if ( my $cont = $self->can("continue_reading_if_necessary") ) {
-    $code = $self->$cont($code);
-  }
-
   # can't override output properly
   # FIXME do some dup wizardry
   Dump( $self->eval($code) );