summaryrefslogtreecommitdiff
path: root/dist/IO
diff options
context:
space:
mode:
authorDavid Leadbeater <dgl@dgl.cx>2011-04-08 21:33:20 +0100
committerFather Chrysostomos <sprout@cpan.org>2011-04-10 18:20:13 -0700
commitefc5c7c332b6baa4c90ca3e3de1fba8ce28448ae (patch)
tree625d9330f21f7e2a8e03470a042606c2dba44c1d /dist/IO
parentf6a766d53013594a5dc80a234f754c6b75c3b724 (diff)
downloadperl-efc5c7c332b6baa4c90ca3e3de1fba8ce28448ae.tar.gz
Require IO::File in IO::Handle
Since 15e6cdd IO::File has been loaded automatically. However this automatic loading would not happen in all cases if IO::Handle was loaded previously. This is due to the @ISA for IO::File being initialised by the core (see the discussion in [perl #87940]). By ensuring IO::File is loaded if IO::Handle is the indeterminate state cannot occur.
Diffstat (limited to 'dist/IO')
-rw-r--r--dist/IO/lib/IO/Handle.pm8
1 files changed, 7 insertions, 1 deletions
diff --git a/dist/IO/lib/IO/Handle.pm b/dist/IO/lib/IO/Handle.pm
index f6974eb5bf..a7431faabd 100644
--- a/dist/IO/lib/IO/Handle.pm
+++ b/dist/IO/lib/IO/Handle.pm
@@ -265,10 +265,16 @@ use Symbol;
use SelectSaver;
use IO (); # Load the XS module
+# Since perl will automatically require IO::File if needed, but also
+# initialises IO::File's @ISA as part of the core we must ensure
+# IO::File is loaded if IO::Handle is. This avoids effectively
+# "half-loading" IO::File.
+require IO::File;
+
require Exporter;
@ISA = qw(Exporter);
-$VERSION = "1.30";
+$VERSION = "1.31";
$VERSION = eval $VERSION;
@EXPORT_OK = qw(