diff options
author | Nicholas Clark <nick@ccl4.org> | 2010-02-06 17:55:32 -0800 |
---|---|---|
committer | Jesse Vincent <jesse@bestpractical.com> | 2010-02-06 18:02:34 -0800 |
commit | d963bf01c4c4db296760b1148f98bf668efcaf58 (patch) | |
tree | 2cb11035e6ab5271b3ec9c18f6f33f980afc0003 /MANIFEST | |
parent | 23d72198749db53785b1c67cd1a37697afb95fc0 (diff) | |
download | perl-d963bf01c4c4db296760b1148f98bf668efcaf58.tar.gz |
Improvements to 31c9a3 - CPAN code did depend on the previous behaviour of blessing filehandles into FileHandle
It turns out that it's not quite as simple as blessing into IO::File.
If you do (just) that, then it breaks any existing code that does
C<require IO::Handle;> to allow it to call methods on file handles,
because they're blessed into IO::File, which isn't loaded. (Note this code
doesn't assume that methods in IO::Seekable are there to be called)
So, it all should work if you also set @IO::File:::ISA correctly?
That way, code that assumes that methods from IO::Handle can be called will
work. However, gv.c now starts complaining (but not failing) if IO::Handle,
IO::Seekable and Exporter aren't present, because it goes looking for
methods in them.
So the solution seems to be to set @IO::File::ISA *and* create (empty)
stashes for the other 3 packages. Patch appended, but not applied.
Diffstat (limited to 'MANIFEST')
-rw-r--r-- | MANIFEST | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -4389,6 +4389,7 @@ t/op/exec.t See if exec, system and qx work t/op/exists_sub.t See if exists(&sub) works t/op/exp.t See if math functions work t/op/fh.t See if filehandles work +t/op/filehandle.t Tests for http://rt.perl.org/rt3/Ticket/Display.html?id=72586 t/op/filetest.t See if file tests work t/op/filetest_t.t See if -t file test works t/op/flip.t See if range operator works |