print a warning when Completion is loaded but the Term::ReadLine object doesn't suppo...
[p5sagit/Devel-REPL.git] / lib / Devel / REPL.pm
index 4337fa1..a46fbbe 100644 (file)
@@ -3,9 +3,9 @@ package Devel::REPL;
 use Term::ReadLine;
 use Moose;
 use namespace::clean -except => [ 'meta' ];
-use 5.8.1; # might work with earlier perls but probably not
+use 5.008001; # backwards compat, doesn't warn like 5.8.1
 
-our $VERSION = '1.001000'; # 1.1.0
+our $VERSION = '1.002001'; # 1.2.1
 
 with 'MooseX::Object::Pluggable';
 
@@ -36,7 +36,13 @@ sub run_once {
   my $line = $self->read;
   return unless defined($line); # undefined value == EOF
   my @ret = $self->eval($line);
-  $self->print(@ret);
+  eval {
+    $self->print(@ret);
+  };
+  if ($@) {
+    my $error = $@;
+    eval { $self->print("Error printing! - $error\n"); };
+  }
   return 1;
 }
 
@@ -87,6 +93,7 @@ sub print {
   my $fh = $self->out_fh;
   no warnings 'uninitialized';
   print $fh "@ret";
+  print $fh "\n" if $self->term->ReadLine =~ /Gnu/;
 }
 
 =head1 NAME