This Week on perl5-porters (14-20 October 2002)
This week, folks, I've written a low-fat summary. Not that I'm
especially tired, but the bulk of messages in perl5-porters were bug
reports and small fixes, and not really summarizable discussions. This
makes arguably the summary more concise, but not less interesting, do I
hope.
charnames patch follow-up
H.Merijn Brand submitted a new version of his patch that enhances the
"charnames" pragma to allow user-defined aliases. Not yet applied. Your
summarizer noticed that loading the files that define the aliases via
require() instead of do() would be an improvement, but unfortunately it
appeared that require() is always forced to be called in scalar context,
(for an unclear reason), which makes this solution not applicable.
http://archive.develooper.com/perl5-porters@;perl.org/msg88068.html
http://archive.develooper.com/perl5-porters@;perl.org/msg88177.html
How to leak scalars with threads
Marc Shapiro noticed (bug #17964) that using the Switch module in a
multi-threaded program triggers a "Scalars leaked: 1" error message.
Elizabeth Mattijsen replied that there are currently many ways to
produce this message, one of them being to do *funky stuff* in BEGIN
blocks.
http://archive.develooper.com/perl5-porters@;perl.org/msg88091.html
In brief
Steve Grazzini submitted a patch (bug #17830) to make the three argument
form of open() behave correctly when the mode argument is "<&=" (i.e.
open a file descriptor via number). Applied.
Bug #17892 is about mkdir() not internally removing trailing slashes
from directory names. This makes mkdir() fail in this case on NetBSD
(and possibly other BSD variants). This was fixed by Slaven Rezic.
Michael G Schwern noticed that prototype() doesn't warn in void context.
This was fixed by Rafael Garcia-Suarez (bug #17933).
Nicholas Clark reported that a tied STDERR doesn't catch lexical warning
messages. Bug #17934, still pending, on which nobody commented.
St�phane Payrard submitted a patch to the IO module, to deprecate the
form "use IO" without an import list, and to document what goes in this
import list (that is, the names of the modules in the "IO::" namespace
to be loaded.) Applied.
Ilya Sandler reported that clearing a large hash may be very slow (bug
#17971). As Andreas J. Koenig found out, this is a malloc() bug,
reproducible with libc-2.2.5, but not with libc-2.3.* that provides a
new implementation of malloc().
Graham Crookham reported that with perl 5.8.0, *AUTOLOAD is failing to
get called for sub calls of the form Xxxx-*new when the class Xxxx has
never been seen before> (bug #17967). This behavior differs from perl
5.6.1. Nobody commented.
Marty Pauley provided a patch for Class::Struct to allow declaration of
a structure via the "use Class::Struct" statement, with an implicit
class name. He also wondered *why Class::Struct doesn't allow its
structures to have an @ISA*. Nobody seemed to remember.
Gavin Estey reported that a test for Locale::Codes failed for him when
compiling perl 5.8.0. This bug was already known and fixed, but it's not
harmful to repeat the cause here, in case some of my gentle readers run
into the same problem : he was using an UTF8 locale, which the buggy
test wasn't handling properly.
H.Merijn Brand applied his chainsaw-patch to remove the old
5005-threads. Further reviewing and adjustments are probably needed (but
apparently no regression was introduced.)
Ton Hospel reported a case of regex overoptimization (bug #18019), which
was promptly fixed by Hugo.
Perl 5 turned eight years old.
About this summary
This summary brought to you by Rafael Garcia-Suarez, who began to use
Perl less than eight years ago. It's also available via a mailing list,
which subscription address is [EMAIL PROTECTED] Comments
and corrections are, as always, welcome.