John Peacock [Sun, 19 Jan 2014 00:25:52 +0000 (19:25 -0500)]
Explicit ENTER/LEAVE block for upg_version
John Peacock [Sun, 12 Jan 2014 16:19:53 +0000 (11:19 -0500)]
Lots of C optimizations for both speed/correctness
Clean up a lot of the less efficient uses of various Perl
macros and functions, mostly from bulk88@hotmail.com. Also
deal with the fact that older Perl's were not handling locale
setting in a consistent manner. This means going back to the
less efficient but always correct method of ALWAYS copying the
old locale and switch to C and then restoring, for all Perl
releases prior to 5.19.0. Discontinue support for Perl's prior
to v5.6.2.
Craig A. Berry [Sat, 18 Jan 2014 19:27:57 +0000 (13:27 -0600)]
Make runperl normalize newlines with multiple output lines.
On VMS only, because rarely but occasionally (such as with
perl5db.t) runperl produces multiple lines of output and they
all need the same treatment.
Craig A. Berry [Sat, 18 Jan 2014 19:22:25 +0000 (13:22 -0600)]
Fix perl5db.t test 41 on VMS.
We're getting newlines in between items, and the easiest way to
deal with it is make them explicit so we expect what we're getting
and it's done the same everywhere.
Brian Fraser [Fri, 26 Apr 2013 07:10:16 +0000 (04:10 -0300)]
ext/POSIX/t/time.t: Conditionalize the use of setlocale/LC_TIME
On Android, all locales are simply disabled, which broke the assumption
that LC_TIME is always available.
Brian Fraser [Sat, 18 May 2013 00:56:00 +0000 (21:56 -0300)]
t/op/threads-dirh.t: Only test telldir and seekdir if they are available
Brian Fraser [Thu, 16 May 2013 09:34:17 +0000 (06:34 -0300)]
t/op/getpid.t: Silence undef warnings if getconf doesn't exist.
If a platform has getppid() but not getconf and we're building a
threaded perl, this file would've shown undef warnings, although
no tests were affected.
Jess Robinson [Fri, 19 Apr 2013 11:08:34 +0000 (12:08 +0100)]
t/op/magic.t: Comment for an unlink test
Jess Robinson [Fri, 19 Apr 2013 11:08:34 +0000 (12:08 +0100)]
t/run/switches.t: Skip setlocale tests if !d_setlocale
Jess Robinson [Fri, 19 Apr 2013 11:08:34 +0000 (12:08 +0100)]
t/op/taint.t: Skip crypt tests if !d_crypt
Jess Robinson [Fri, 19 Apr 2013 11:08:34 +0000 (12:08 +0100)]
t/lib/warnings/9uninit: Skip crypt tests if !d_crypt
Brian Fraser [Sat, 18 Jan 2014 13:03:00 +0000 (10:03 -0300)]
DynaLoader: Pure-perl mod2fname shouldn't use %Config at runtime
This is somewhat obscure. Previously, mod2fname would've tried
accessing $Config{dlext} each time it was called. The reason this
can be problematic is that mod2fname can be called during global destruction,
after %Config is freed but before its magic is. This was causing
Devel::GlobalDestruction's tests to fail on builds with -Dd_libname_unique.
This commit grabs the data we need when DynaLoader.pm is being built in
DynaLoader_pm.PL, so it no longer need to depend on %Config.
Father Chrysostomos [Sat, 18 Jan 2014 13:52:08 +0000 (05:52 -0800)]
Increase $Hash::Util::FieldHash::VERSION to 1.14
Father Chrysostomos [Sat, 18 Jan 2014 13:47:22 +0000 (05:47 -0800)]
Hash::Util::FieldHash: fix broken pod link
Father Chrysostomos [Sat, 18 Jan 2014 13:44:17 +0000 (05:44 -0800)]
Increase $threads::shared::VERSION to 1.46
Father Chrysostomos [Sat, 18 Jan 2014 13:42:03 +0000 (05:42 -0800)]
perldelta typo
Father Chrysostomos [Sat, 18 Jan 2014 13:36:52 +0000 (05:36 -0800)]
threads::shared: Don’t link to moving targets
The Scalar::Util documentation has changed, so the links are broken.
But we cannot just update the link targets, as threads::shared is
living a double life and may be installed along with an older
Scalar::Util.
Father Chrysostomos [Sat, 18 Jan 2014 01:39:38 +0000 (17:39 -0800)]
perldiag: Rewrap autoderef entries
for better splain output
Father Chrysostomos [Sat, 18 Jan 2014 01:32:17 +0000 (17:32 -0800)]
perldelta for
88c342510b9
Father Chrysostomos [Sat, 18 Jan 2014 01:28:56 +0000 (17:28 -0800)]
Craig A. Berry [Sat, 18 Jan 2014 03:46:08 +0000 (21:46 -0600)]
Mention perlbug -p in perlhack.
Using git's --attach with perlbug -f actually mangled the patches,
making them harder to apply, but now we have a better way to do it.
Craig A. Berry [Sat, 18 Jan 2014 00:04:58 +0000 (18:04 -0600)]
perldelta for perlbug changes.
Craig A. Berry [Wed, 1 Jan 2014 18:31:02 +0000 (12:31 -0600)]
Make perlbug Unicode-aware.
Try to do input in whatever the locale wants and output raw in
hopes that will best survive mail transport.
Except when reading in a patch file, we'll also use raw for input
because there may be multiple encodings in the patch, and we'll
also use raw for input when reading in the report file that we've
written out raw.
We attempt to detect the locale encoding using the private and
undocumented _get_locale_encoding() function of the deprecated
encoding pragma module. But it's what the open pragma does and
we protect ourselves by checking that it's available and falling
back to an empty layer specification ("<:") if we can't load that
function. That should also give us something workable when there
is no dynamic loading, such as under miniperl.
Craig A. Berry [Sat, 16 Nov 2013 02:55:58 +0000 (20:55 -0600)]
Switch perlbug mail sender on VMS.
The VMS mail utility can't do attachments because it always adds
a blank line in front of any headers you add. So use the Send
From File utility, which has been documented and supported for
any release in the last decade and was latently present before
that.
It takes the whole message verbatim just like sendmail, but also
needs the envelope prepended.
Craig A. Berry [Sun, 10 Nov 2013 00:42:57 +0000 (18:42 -0600)]
Add perlbug -p option for attaching patches.
Log files and other text attachments should also be fine as long
as they aren't big enough to be rejected by RT.
Only text attachments are supported, as other kinds would involve
wrestling with myriad MIME types and possibly content transfer
encodings. This should be fine for binary patches, though, as
git format-patch encodes those in Base85, so the patch file itself
is still text.
Father Chrysostomos [Fri, 17 Jan 2014 15:51:23 +0000 (07:51 -0800)]
Father Chrysostomos [Fri, 17 Jan 2014 15:43:08 +0000 (07:43 -0800)]
Brian Fraser [Fri, 17 Jan 2014 16:16:06 +0000 (13:16 -0300)]
Added config.arch to .gitignore
Brian Fraser [Wed, 15 Jan 2014 09:42:35 +0000 (06:42 -0300)]
config.h: Remove the exceptions for cross-compilation builds
This makes it so that the values for MEM_ALIGNBYTES and BYTEORDER
are taken from config.sh, instead of always getting a default.
Brian Fraser [Thu, 16 Jan 2014 11:15:10 +0000 (08:15 -0300)]
INSTALL: Document -Dsysroot
Jess Robinson [Sat, 29 Dec 2012 21:27:13 +0000 (21:27 +0000)]
Add missing $run prefix to some Configure tests
Jess Robinson [Tue, 15 Jan 2013 10:26:22 +0000 (10:26 +0000)]
Introduce $targetport to allow running on a non-standard ssh port
Such as when using user networking on qemu and redirecting a local port
to the emulator ssh
Jess Robinson [Thu, 31 Jan 2013 14:12:31 +0000 (14:12 +0000)]
Store the targetdir, targethost from Configure in config.sh for later.
Jess Robinson [Tue, 15 Jan 2013 10:26:22 +0000 (10:26 +0000)]
Configure: Remove "was file copied" check using run-ssh
This doesn't seem to be of much use.
Brian Fraser [Tue, 19 Nov 2013 12:16:11 +0000 (09:16 -0300)]
Configure: If using targetarch, the computed binaries should stick
Brian Fraser [Mon, 13 Jan 2014 07:22:02 +0000 (04:22 -0300)]
Configure: Don't skip the alignbytes test when crosscompiling
Brian Fraser [Mon, 13 Jan 2014 05:03:16 +0000 (02:03 -0300)]
Configure: Add $run to two tests
Brian Fraser [Mon, 13 Jan 2014 05:00:43 +0000 (02:00 -0300)]
Configure: use $sysroot, if available, in checkccflags
If the user specified -Dsysroot but we don't use it, then the results can
be entirely off.
This also introduces an internal variable for Configure, _sysroot,
which is just "--sysroot=$sysroot", for use in places like checkccflags that
need --sysroot but don't need the other flags.
Brian Fraser [Sat, 11 Jan 2014 05:54:03 +0000 (02:54 -0300)]
Configure: No need to skip the byteorder test when cross-compiling.
This skip was added in 2001, but under the current model there's no
real reason to skip it.
Jess Robinson [Sat, 29 Dec 2012 21:23:01 +0000 (21:23 +0000)]
Fix two Configure tests when targethost is set
Brian Fraser [Fri, 11 Oct 2013 19:52:48 +0000 (16:52 -0300)]
Configure: When cross-compiling, look for *-gcc* instead of *-*-gcc
Ditto with g++. This allows us to use, for example, ntox86-gcc or
x86_64-w64-mingw32-g++.exe to cross-compile, and have Configure detect
most things automatically.
Jess Robinson [Sat, 29 Dec 2012 21:26:27 +0000 (21:26 +0000)]
Set appropriate flags for linux or linux-like systems.
This means that osnames that look like *linux*, like linux-androideabi
or linux-gnueabihf are treated like linux systems.
Father Chrysostomos [Fri, 17 Jan 2014 14:30:57 +0000 (06:30 -0800)]
sv_buf_to_rw can be static
sv_buf_to_ro needs to be non-static because op.c uses it, but
sv_buf_to_rw is only called from sv.c.
Father Chrysostomos [Fri, 17 Jan 2014 14:11:02 +0000 (06:11 -0800)]
Always define sTHX as 0 when not using mem debug header
I broke the threaded build in
b001a0d149 by assuming that sTHX was
always set to 0 when memory debug headers were not in use. That is
an easy assumption to make, so this commit makes that assumption true.
(And there is no reason it cannot be made true. There is no need for
sTHX to be set under PERL_IMPLICIT_CONTEXT but not PERL_TRACK_MEMPOOL,
where sTHX was not even used before
b001a0d149.)
Father Chrysostomos [Fri, 17 Jan 2014 02:03:35 +0000 (18:03 -0800)]
[Merge] Cow Tools
This branch provides a PERL_DEBUG_READONLY_COW mode that turns COW
violations into crashes. It also add documentation to perlguts
explaining how to handle COW strings in XS code.
There are two ‘known’ failures in IO::Compress’ tests. A patch has
been sent upstream.
(Apologies to Gary Larson.)
Father Chrysostomos [Sun, 12 Jan 2014 00:45:18 +0000 (16:45 -0800)]
util.c: A couple of defines to simplify #ifdef maze
No real simplification in terms of the number of #ifdefs, but more
readability (hopefully).
Father Chrysostomos [Fri, 3 Jan 2014 13:58:22 +0000 (05:58 -0800)]
Skip t/re/uniprops.t under PERL_DEBUG_READONLY_COW
Under Linux, using mmap for all memory allocation stops working when we
get up to 70,000 lines of code. So just skip it.
Father Chrysostomos [Thu, 2 Jan 2014 20:39:05 +0000 (12:39 -0800)]
SvGROW should un-cow under PERL_OLD_COPY_ON_WRITE
Otherwise pp_uc (and presumably other pieces of code) will end up mod-
ifying shared buffers.
Brought to you by PERL_DEBUG_READONLY_COW.
Father Chrysostomos [Mon, 30 Dec 2013 00:47:43 +0000 (16:47 -0800)]
perldiag for new mprotect warnings
Father Chrysostomos [Mon, 30 Dec 2013 00:39:36 +0000 (16:39 -0800)]
Teach podcheck about mmap(2)
Father Chrysostomos [Sat, 28 Dec 2013 14:06:27 +0000 (06:06 -0800)]
COW documentation
plus read-only documentation, since hysterically the two are
intertwined.
Father Chrysostomos [Thu, 12 Dec 2013 23:26:01 +0000 (15:26 -0800)]
XS::APItest: Flatten src for utf16_to_utf8_reversed
utf16_to_utf8_reversed (the C function) modifies its input, so the XS
function of the same name should flatten the input to avoid modifying
shared buffers.
Brought to you by PERL_DEBUG_READONLY_COW.
Father Chrysostomos [Mon, 6 Jan 2014 00:20:58 +0000 (16:20 -0800)]
threads.t: Increase watchdog timeout
PERL_DEBUG_READONLY_COW is too slow for a 60s timeout.
Father Chrysostomos [Mon, 6 Jan 2014 00:09:35 +0000 (16:09 -0800)]
Make XS::APItest::establish_cleanup protect existing stacks
It causes pp_entersub to be called in odd places, which can cause the
context stack to be reallocated when an outer function call (like
pp_leavesub) has a pointer into the context stack in a C auto.
cleanup.t was failing for me under PERL_DEBUG_READONLY_COW +
STRESS_REALLOC + threads, because the context stack was reallocated
and the old address then freed and reused for something else, being
zeroed in the mean time. So pp_leavesub returned NULL (trying to
read retop from the context stack), causing the program to exit.
During global destruction, subs that had not be exited properly were
undefined, leading to:
1..3
Can't undef active subroutine during global destruction.
Father Chrysostomos [Wed, 4 Dec 2013 12:39:14 +0000 (04:39 -0800)]
PERL_DEBUG_READONLY_COW
Make perls compiled with -Accflags=-DPERL_DEBUG_READONLY_COW to turn
COW buffer violations into crashes.
We do this using mmap to allocate memory and then mprotect to mark
memory as read-only when buffers are shared.
We have to do this at the safesysmalloc level, because some code does
SvPV_set with buffers it allocates on its own via safemalloc().
Unfortunately this means many things are allocated using mmap that
will never be marked read-only, slowing things down considerably, but
I see no other way.
Because munmap and mprotect need to know the length, we use the
existing sTHX/perl_memory_debug_header mechanism used already by
PERL_TRACK_MEMPOOL and store the size there (as PERL_POISON already
does when PERL_TRACK_MEMPOOL is enabled). perl_memory_debug_header is
a struct positioned at the beginning of every allocated buffer, for
tracking things.
Chris 'BinGOs' Williams [Thu, 16 Jan 2014 20:06:49 +0000 (20:06 +0000)]
Update Module-Load-Conditional to CPAN version 0.60
[DELTA]
0.60 Thu Jan 16 12:28:24 GMT 2014
* Added autoload option to can_load()
Karl Williamson [Thu, 16 Jan 2014 17:26:16 +0000 (10:26 -0700)]
regcomp.c: Remove unnecessary variable
This variable is set and tested just once in all but one instance,
before being discarded. In that one instance, it's tested twice. The
underlying expression is just extracting a field from a structure.
There's no efficiency gain to using the variable, so might as well not
have it.
Karl Williamson [Thu, 16 Jan 2014 17:23:31 +0000 (10:23 -0700)]
Turn on read-only flag for some unchangeable inversion lists
These lists are read-only. Turning on the flag may allow some
optimisations to be done, including some that may be added in the
future.
Chris 'BinGOs' Williams [Thu, 16 Jan 2014 16:20:08 +0000 (16:20 +0000)]
Update known POD issues
Chris 'BinGOs' Williams [Thu, 16 Jan 2014 15:49:51 +0000 (15:49 +0000)]
Update Scalar-List-utils to CPAN version 1.36
[DELTA]
1.36 -- 2014/01/16 15:40:47
[CHANGES]
* Added Scalar::Util::unweaken()
* Various documentation changes/updates
[BUGFIXES]
* Correct uses of overload operators in unit tests (RT91969)
Tony Cook [Thu, 16 Jan 2014 04:37:27 +0000 (15:37 +1100)]
[perl #89502] improved FreeMINT support
Tony Cook [Thu, 16 Jan 2014 04:11:50 +0000 (15:11 +1100)]
describe the level of FreeMINT support
Tony Cook [Fri, 15 Nov 2013 00:56:46 +0000 (11:56 +1100)]
add Alan Hourihane to AUTHORS
Alan Hourihane [Fri, 15 Nov 2013 00:53:16 +0000 (11:53 +1100)]
new freemint hints file
Alan Hourihane [Fri, 15 Nov 2013 00:37:52 +0000 (11:37 +1100)]
freemint doesn't need the extra -lm -lposix either
Alan Hourihane [Fri, 15 Nov 2013 00:30:50 +0000 (11:30 +1100)]
fix some linuxisms and RETVAL warnings from xsubpp
Original patch by Alan, modified by Tony Cook to remove unused return
types.
Tony Cook [Mon, 11 Nov 2013 00:45:40 +0000 (11:45 +1100)]
[perl #89502] support for dld on Atari FreeMINT
Tony Cook [Thu, 16 Jan 2014 04:35:45 +0000 (15:35 +1100)]
fix a POD error
Ricardo Signes [Thu, 16 Jan 2014 04:26:07 +0000 (23:26 -0500)]
correct release schedule: next dev series is 5.21
Ricardo Signes [Thu, 16 Jan 2014 04:24:42 +0000 (23:24 -0500)]
update the release schedule
Tony Cook [Thu, 16 Jan 2014 02:38:21 +0000 (13:38 +1100)]
someone forgot to test_porting and it was me
add another strange email address to checkAUTHORS.pl
Tony Cook [Tue, 10 Dec 2013 22:48:15 +0000 (09:48 +1100)]
[perl #120670] make perl headers C++11 compatible
Tony Cook [Wed, 15 Jan 2014 22:48:10 +0000 (09:48 +1100)]
Tony Cook [Wed, 15 Jan 2014 22:40:43 +0000 (09:40 +1100)]
[perl #121010] Fix base.pm nonexistent module check with open files
Tony Cook [Wed, 15 Jan 2014 22:34:34 +0000 (09:34 +1100)]
bump $base::VERSION
Dagfinn Ilmari Mannsåker [Tue, 14 Jan 2014 14:18:52 +0000 (14:18 +0000)]
Fix base.pm nonexistent module check with open files
Tony Cook: update MANIFEST
Chris 'BinGOs' Williams [Wed, 15 Jan 2014 19:56:19 +0000 (19:56 +0000)]
Update Perl-OSType to CPAN version 1.007
[DELTA]
1.007 2014-01-15 09:45:41-05:00 America/New_York
[ADDED]
- Added 'android' as a Unix-type OS (Piotr Roszatycki)
Ricardo Signes [Wed, 15 Jan 2014 14:49:04 +0000 (09:49 -0500)]
fix a typo in a comment
Spotted by Matthew Horsfall
Brian Fraser [Wed, 15 Jan 2014 12:14:46 +0000 (09:14 -0300)]
Configure: default incpth to usrinc
A previous commit made findhdr use incpth instead of just usrinc;
however, at the moment, incpth is not being filled for non-gcc
compatible compilers, and so broke the build for those.
This commit makes incpth default to usrinc, which means that
if for whatever reason incpth is not filled, findhdr will still
function as it did before.
Tony Cook [Wed, 15 Jan 2014 03:35:25 +0000 (14:35 +1100)]
[perl #120933] static extensions now depend on nonxs extensions
This means that changes to static extensions like Win32CORE actually
result in them being rebuilt.
Tony Cook [Tue, 14 Jan 2014 22:58:10 +0000 (09:58 +1100)]
Tony Cook [Mon, 13 Jan 2014 05:20:00 +0000 (16:20 +1100)]
[perl #118843] work around recv() behaviour on cygwin
cygwin inherits recv behaviour from the Win32 sockets API which doesn't
modify the namebuf or it's associated size when you recv() from a
connected socket, handle this the same way Win32 does by zeroing the
length if it's the same as before calling recv().
Also adds some basic socket function tests to the core tests.
Tony Cook [Tue, 14 Jan 2014 21:58:03 +0000 (08:58 +1100)]
Tony Cook [Mon, 13 Jan 2014 22:24:40 +0000 (09:24 +1100)]
[perl #118817] avoid using 2 handles to write to the debug output
Previously the tests were run with the following config:
NonStop=0 TTY=db.out LineInfo=db.out
This meant that the debugger would write the prologue, command prompts
and their results and the epilogue to one handle, and any line trace
information to the second handle. Since those handles didn't share a
file position, the line trace info would overwrite the prologue, and
the epilogue would overwrite part of the line trace info.
When TTY=vt100 on Redhat systems this made the epilogue just long
enough to overwrite the line trace data that a test matched against,
causing the test to fail.
To fix this, I avoided setting LineInfo:
NonStop=0 TTY=db.out
and since LineInfo defaults to using the TTY handle, both types of
content are written to db.out *without* overwriting each other.
Unfortunately this broke some other tests, since the command prompts
which were overwritten by line trace information are now mixed in with
the line traces - I've modified the tests that failed to account for
the included command lines.
Ricardo Signes [Tue, 14 Jan 2014 14:33:14 +0000 (09:33 -0500)]
Merge branch 'experimental-autoderef' into blead
Ricardo Signes [Tue, 14 Jan 2014 14:13:53 +0000 (09:13 -0500)]
perldelta for experimental::autoderef
Ricardo Signes [Tue, 14 Jan 2014 13:34:19 +0000 (08:34 -0500)]
rename aggref warnings to autoderef
Ricardo Signes [Tue, 14 Jan 2014 13:30:46 +0000 (08:30 -0500)]
avoid a keys-on-scalar warning in a test
Father Chrysostomos [Sat, 9 Nov 2013 14:56:42 +0000 (06:56 -0800)]
More test tweaks
Father Chrysostomos [Sat, 9 Nov 2013 14:31:58 +0000 (06:31 -0800)]
Fix copy & paste error in tests
Father Chrysostomos [Sat, 9 Nov 2013 14:30:32 +0000 (06:30 -0800)]
Increase $warnings::VERSION to 1.21
Father Chrysostomos [Sat, 9 Nov 2013 14:30:03 +0000 (06:30 -0800)]
Make key/push $scalar experimental
We need a better name for the experimental category, but I have not
thought of one, even after sleeping on it.
Father Chrysostomos [Tue, 14 Jan 2014 14:30:23 +0000 (06:30 -0800)]
Get t/io/utf8.t working under PERL_UNICODE
Father Chrysostomos [Tue, 14 Jan 2014 06:34:21 +0000 (22:34 -0800)]
Use NOT_REACHED in one spot in hv.c
This reduces the size of hv.o by 32 bytes under clang.
Tony Cook [Tue, 14 Jan 2014 05:54:29 +0000 (16:54 +1100)]
use the more portable File::Spec->devnull for the stderr redirect
this allows pending-author.t to work on MSWin32
Tony Cook [Tue, 14 Jan 2014 05:53:40 +0000 (16:53 +1100)]
[perl #116971] avoid feeding manisort a bad @INC
the C<< use TestInit qw(T) >> in manifest.t both changes to the
build tree *and* initializes $ENV{PERL5LIB} to "lib", so there's
no need fo runperl() to supply (an incorrect) -I.. when running
manisort.
Tony Cook [Tue, 14 Jan 2014 04:46:27 +0000 (15:46 +1100)]
[perl #116971] avoid feeding utils run by utils.t a bad @INC
the C<< use TestInit qw(T) >> both changes to the build tree root
*and* initializes $ENV{PERL5LIB} to "lib", so there's no need for
runperl() to supply -I.. when testing each tool.
Tony Cook [Tue, 14 Jan 2014 04:14:42 +0000 (15:14 +1100)]
Shlomi Fish [Mon, 13 Jan 2014 12:16:29 +0000 (14:16 +0200)]
Add examples for IO::Socket::UNIX.
In the SYNOPSIS.
See
http://www.nntp.perl.org/group/perl.perl5.porters/2014/01/msg211274.html:
<QUOTE>
From: Shlomi Fish
Subject: Patch for perldoc IO::Socket::UNIX
I noticed http://perldoc.perl.org/IO/Socket/UNIX.html does not contain any
examples (including not in the synopsis). If acceptable, I can a prepare a
patch that will include a simple server and a client for UNIX domain sockets,
see: http://www.mail-archive.com/beginners%40perl.org/msg116942.html
</QUOTE>
TC: modified the version number modification
Shlomi Fish [Mon, 13 Jan 2014 11:54:00 +0000 (13:54 +0200)]
Remove an old note about autoflush from the POD.
For IO::Socket::UNIX. See:
http://www.nntp.perl.org/group/perl.perl5.porters/2014/01/msg211275.html
<QUOTE>
And while you're at it, you might as well get rid of the autoflush note,
given IO::Socket 1.18 being fairly ancient (it shipped with 5.6.0).
</QUOTE>