r80226@onn: sartak | 2009-02-17 19:58:22 -0500
Sartak [Wed, 18 Feb 2009 00:58:40 +0000 (00:58 +0000)]
 If the object we're dumping has stringification overloading, then use it directly

git-svn-id: http://dev.catalyst.perl.org/repos/bast/trunk/Devel-REPL@5511 bd8105ee-0ff8-0310-8827-fb3f25b6796d

Changes
lib/Devel/REPL/Plugin/DDS.pm

diff --git a/Changes b/Changes
index 20f8a58..d1bb096 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,3 +1,6 @@
+upcoming
+  - If the object we're dumping has stringification overloading, then use
+    it directly
 1.3.4
   - resolve rt.cpan#43109 Missing deps for Default Profile Plugins
 1.3.3
index fe35319..20ead7e 100644 (file)
@@ -9,10 +9,14 @@ around 'format_result' => sub {
   my $to_dump = (@_ > 1) ? [@_] : $_[0];
   my $out;
   if (ref $to_dump) {
-    my $dds = Data::Dump::Streamer->new;
-    $dds->Freezer(sub { "$_[0]"; });
-    $dds->Data($to_dump);
-    $out = $dds->Out;
+    if (overload::Method($to_dump, '""') {
+      $out = "$to_dump";
+    } else {
+      my $dds = Data::Dump::Streamer->new;
+      $dds->Freezer(sub { "$_[0]"; });
+      $dds->Data($to_dump);
+      $out = $dds->Out;
+    }
   } else {
     $out = $to_dump;
   }