Removed [base] as no longer needed
rkinyon [Fri, 3 Mar 2006 02:15:59 +0000 (02:15 +0000)]
lib/DBM/Deep.pm
lib/DBM/Deep/Engine.pm

index f408d72..c6a9c4a 100644 (file)
@@ -1512,15 +1512,10 @@ Here is an example:
     print $db->{foo} . "\n"; # prints "foo"
     print $db->{circle}->{foo} . "\n"; # prints "foo" again
 
-One catch is, passing the object to a function that recursively walks the
+B<Note>: Passing the object to a function that recursively walks the
 object tree (such as I<Data::Dumper> or even the built-in C<optimize()> or
-C<export()> methods) will result in an infinite loop.  The other catch is,
-if you fetch the I<key> of a circular reference (i.e. using the C<first_key()>
-or C<next_key()> methods), you will get the I<target object's key>, not the
-ref's key.  This gets even more interesting with the above example, where
-the I<circle> key points to the base DB object, which technically doesn't
-have a key.  So I made DBM::Deep return "[base]" as the key name in that
-special case.
+C<export()> methods) will result in an infinite loop. This will be fixed in
+a future release.
 
 =head1 CAVEATS / ISSUES / BUGS
 
index 0740c2b..fccd820 100644 (file)
@@ -159,12 +159,6 @@ sub open {
 
         $self->create_tag($obj, $obj->_base_offset, $obj->_type, chr(0) x $self->{index_size});
 
-        # Why is this being printed here? I'm not seeing where anything actually points to
-        # this spot.
-        #XXX $obj->_root->{end} isn't updated from these 10 bytes that are being written
-        my $plain_key = "[base]";
-        print( $fh pack($self->{data_pack}, length($plain_key)) . $plain_key );
-
         # Flush the filehandle
         my $old_fh = select $fh;
         my $old_af = $|; $| = 1; $| = $old_af;