document GDBM_File's delete vs each conflict
authorZefram <zefram@fysh.org>
Fri, 15 Dec 2017 09:51:33 +0000 (09:51 +0000)
committerZefram <zefram@fysh.org>
Fri, 15 Dec 2017 09:51:33 +0000 (09:51 +0000)
Fixes [perl #117449].

ext/GDBM_File/GDBM_File.pm
pod/perldelta.pod

index fca0642..a33b8b5 100644 (file)
@@ -20,6 +20,10 @@ module you should really have a copy of the gdbm manualpage at hand.
 Most of the libgdbm.a functions are available through the GDBM_File
 interface.
 
+Unlike Perl's built-in hashes, it is not safe to C<delete> the current
+item from a GDBM_File tied hash while iterating over it with C<each>.
+This is a limitation of the gdbm library.
+
 =head1 AVAILABILITY
 
 gdbm is available from any GNU archive.  The master site is
@@ -69,7 +73,7 @@ require XSLoader;
 );
 
 # This module isn't dual life, so no need for dev version numbers.
-$VERSION = '1.16';
+$VERSION = '1.17';
 
 XSLoader::load();
 
index d6e9437..f78c0dd 100644 (file)
@@ -176,6 +176,12 @@ default from a "NAME" section in the POD document, as it used to be
 before the module was rewritten to use L<Pod::Simple::XHTML> to do the
 core of its job.  [perl #110520]
 
+=item *
+
+L<GDBM_File> has been upgraded from version 1.16 to 1.17.
+Its documentation now explains that C<each> and C<delete> don't mix in
+hashes tied to this module.
+
 =back
 
 =head2 Removed Modules and Pragmata