IO 1.23 -- Sat Mar 25 19:28:28 CST 2006

 * Adjust the regression tests to use t/ when $ENV{PERL_CORE} is defined
 * Reduce number of calls to getpeername
 * Call qualify on format name passed to format_write. Bug reported by Johan Vromans
 * Reduce calls to getprotobyname/number. Patch from Gisle Aas
 * Remove references to file TEST used in core so appropriate tests are skipped
   during an install from CPAN
 * Add method say to IO::Handle
 * Performance improvement for IO::File::open
 * Don't warn about a directory being closed in the DESTROY

IO 1.22 -- Mon Sep  5 10:29:35 CDT 2005

 * Update with changes made in perl core distribution

Change 173 on 1998/07/14 by <> (Graham Barr)

	- Added method connected
	- Added check that file * is not null
	- Added check for connected
	- Made change to catch recv not returning the address, and added a fix to
	  ensure test does not hang
	- Added check for connected.

Change 137 on 1998/05/21 by <> (Graham Barr)

	- Added checks to all peer* and host* methods for undef

Change 134 on 1998/05/09 by <> (Graham Barr)

	- fix race condition on Solaris & SunOS
	- Applied patch from Gisle Aas <> for
	    documentation update
	- Applied patch from Kuma <>
	    changed input_line_number to be on a per-handle basis.
	- Applied patch from Gisle Aas <> for
	    documentation update
	- Applied patch from Gisle Aas <> for
	    documentation update
	    added sysseek
	IO, IO::Socket::INET
	- documentation update
	- Applied patch from Gisle Aas <> for

Change 133 on 1998/05/09 by <> (Graham Barr)

	- Added checks for blocking()

Sun Apr 12 1998 <> (Graham Barr)

	- enclosed newCONSTSUB in #ifdef as _64 now defines it.

Thu Mar 19 1998 <> (Graham Barr)

	- Changed copyright/distribution policy back to be the same as perl

Sun Feb 15 1998 <> (Graham Barr)

	- Fix to ->accept, accept() returns false on error not undef.

*** Release 1.19

Thu Feb  5 1998 <> (Graham Barr)

	- change copyright notice
	- changed configure to accept PeerHost and LocalHost as well as the
	  PeerAddr and LocalAddr arguments.

Mon Feb  2 1998 <> (Graham Barr)

	- Added printflush so that can be depreciated

	- Remove C<use Config> statement as it was not needed

Tue Jan 27 1998 <> (Graham Barr)

	- removed carp if $^W

*** Patch 1.1804

Sat Jan 17 1998 <> (Graham Barr)

	- Replaced C<Listen => 0> with C<LocalAddr => 'localhost'>
	- Modified the MultiHomed code. Now each address for a given host has
	  a timeout of C<Timeout>.
	- added _get_addr method for doing hostname lookups. Now Net::DNS can be
	  use by sub-classing IO::Socket::INET, Thanks Gisle Aas
	- new test added. Thanks Gisle Aas.

*** Patch 1.1803

Mon Nov 17 1997 <> (Graham Barr)

	- Added #ifdef I_* tests
	- Changed initialization of @domain2pkg to fix problem of Domain option
	  not working
	- Added patch for multi-homed hosts, Thanks to Gisle Aas <>
	- Change default proto to getprotobyname instead of 'tcp' constant string
	- Added patch for multi-homed hosts, Thanks to Gisle Aas <>
	- Change to test fix for Domain problem fixed in IO::Socket and be
	  more comprehensive, Thanks to Gisle Aas <>
	- New test, Thanks to Gisle Aas <>

*** Patch 1.1802

Wed Nov 12 1997 <> (Graham Barr)

	- test 4 made an assumption that was not portable, fixed.

*** Patch 1.1801

Wed Oct 22 1997 <> (Graham Barr)

	- change #ifdef's to allow compilation with 5.002
	- Fix to ensure that socket is not returned as non-blocking
	  unless the user asks for it

	- Fix to stop endless loop

*** Release 1.18

Mon Oct 13 1997 <> (Graham Barr)

	IO.xs, IO::Handle
	- 1.17 broke compatability with 5.003, small tweaks to restore
	- Added new test to ensure backwards compatability with constants
	  is not broken

Wed Oct  8 1997 <> (Graham Barr)

	- Added #define's to cope with argument changes to start_subparse
	  from 5.003_22, _23 and _24
	- Renamed has_error to be has_exception which is more correct,
	  has_error is a wrapper around has_exception with a warning if
	  $^W is set.
	- Remove 'linkext' option to WriteMakefile so that static linking
	  should work properly, cannot remember why I added it.

Sun Oct  5 1997 <> (Graham Barr)

	- GLOB assignment does not copy the fileno while under -T
	  added checks for undefined fileno, and added fdopen
	- reader and write can now be called as static methods

	- Attempt to locate <poll.h> and define I_POLL if found

*** Release 1.17

Fri Sep 26 1997 <> (Graham Barr)

	- Fix bug in _poll for ANSI C compilers
	- Split IO::Socket::INET and IO::Socket::UNIX into separate files
	- Patch to open() for when file is in current directory.

*** Release 1.16

Mon 15 Sep 1997 <> Graham Barr

	o New modules
	  - IO::Dir
	  - IO::Poll

	o IO::Socket
	  - Changed new to call autoflush on the new socket
	  - IO::Socket::INET->new now accepts a single argument
	  - IO::Socket::INET default to protocol 'tcp'
	o IO::File
	  - Added doc for new_tmpfile
	o IO::Handle
	  - Removed use of AutoLoader for constants, constants are
	    now defined as constant XS subs
	  - Added fsync, but will not be avaliable for use
	    unless HAS_FSYNC is defined, perls configure does not define
	    this yet.
	  - Moved bootstrap of IO.xs to IO::Handle no longer
	    contains an AUTOLOAD sub in it's ISA hier

	o IO::Seekable
	  - Remove clearerr, as it is defined in IO.xs

	o IO.xs
	  - Patched IO.xs with patch from Chip for setvbuf warning
	  - Added XS sub "constant" for backwards compatability

	o Misc
	  - Fixed IO::Socket::configure, it was not passing $arg to domain
	    specific package
	  - Changed all $fh variables in IO::Handle to $io and all $fh
	    variables in IO::Socket to $sock as Chip suggested
	  - Fixed usage messages to be consistant

*** Release 1.15

Sun 19 Jan 1997 <> Graham Barr

	o Updated PODs for IO::Handle and IO::File
	o Modified IO.xs so that DESTROY gets called on IO::File
	  objects that were created with IO::File->new_tmpfile
	o Modified the domain2pkg code in IO::Socket so that it
	  does not use blessd refs
	o Created a new package IO::Pipe::End so that pipe specific
	  stuff can be moved out of IO::Handle.
	o Added Ilya's OS/2 changes to and io_pipe.t

	o These changes happened somtime before the release of 1.15
	  - added shutdown to IO::Socket
	  - modified connect to not use alarm
	  - modified accept and connect to use IO::Select

*** Release 1.14

Tue 24 Dec 1996 <> Graham Barr

	o Updated to patches in perl core dist.
	o Added C<use strict> to all modules
	o Modified t/io_sock.t, hopefully the race condition has gone
	o Added close statements to reader/writer in IO::Pipe
	o IO::Handle::syswrite was calling sysread, fixed :-)

*** Release 1.12

Thu 19 Sep 1996 <> Graham Barr

	o Modified IO.xs so that it will compile with pre perlio version
	  of perl (ie pre perl5.003_02)
	o Modified IO::Socket::send so not to pass 4 arguments to send
	  if the socket is connected

*** Release 1.10

Mon 11 Sep 1996 <> Graham Barr

	o Fixed a bug in IO::Socket which caused DESTROY to be called
	  on a partly initialised connection
	o Changed IO.xs to use Perlio
	o Modified usage message to report correct package
	o Added IO::File::new changes from Chip, to allow PERM to be passed
	o Added sysread and syswrite methods to IO::Handle
	o Updated documentation
	o Fixed a bug in IO::Select that caused a hang if the last handle
	  was removed.
	o Added count method to IO::Select
	o Renamed and modified tests so that they can be copied into the
	  perl distribution
	o Added fcntl and ioctl methods to IO::Handle

Thu 25 Jul 1996 <> Graham Barr

	o It is now not necessary to call the domain sub-classes of
	  IO::Socket. when connect is called it notes the domain.
	  Domain specific methods, which are normally non-critical, are
	  called via this note-ing.
	o Added methods to IO::Socket to retrieve the domain, type and
	  protocol of a given socket

Tue 23 Jul 1996 <> Graham Barr

	o IO::Socket::connect changed how we do timeouts, as it did not work

	o IO::Handle::new_from_fd removed method call to _ref_fd, which was
	  a leftover from FileHandle

Fri 28 Jun 1996 <> Graham Barr

	o Modified IO::Socket::UNIX::configure to default to using a socket
	  type of SOCK_STREAM if no type is specified.