In this beginning of November, the porters have discussed about regression tests, using new functions from the C library when they're found, the roadmap for perl 5.10, optimisations, signals, and other miscellaneous topics.
It's possible to configure perl without some built-in extensions, and this causes some tests to fail, so Nicholas was wondering about determining which extensions aren't enabled and skipping the corresponding tests.
http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2004-10/msg00637.html
strlcat()
and strlcpy()
in ConfigureH. Merijn Brand continued working on detecting these functions,
which are safer versions of strncat
and strncpy
.
Craig Berry made it work on VMS. Adding the detection to
Configure makes it easier for module writers to know if
the functions are available.
http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2004-10/msg00613.html
Yitzchak Scott-Thoennes reported (bug #32272) this test failure, which
was later found to be ignorable. Yitzchak also mentioned that
Cwd
and File::Spec
have been repackaged as PathTools
.
http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2004-11/msg00065.html
Bug #32154, apparently caused by RedHat's patched glibc, as it didn't show up in other distributions.
http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2004-10/msg00573.html
Nicholas incidentally pointed out that source code is available directly
ftp://ftp.linux.activestate.com/pub/staff/gsar/APC/perl-5.8.x/ ftp://ftp.linux.activestate.com/pub/staff/gsar/APC/perl-current/
and a repository browser is at
http://public.activestate.com/cgi-bin/perlbrowse
Rafael listed points in the roadmap for 5.10. Michael Schwern added
that Module::Build
and CPANPLUS
should be put into the core,
and Randy Sims pointed out some work that needs done on M::B
first.
Also mentioned was incorporating a minimal subset of Inline
.
http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2004-11/msg00115.html
Tassilo von Parseval is working on optionalizing the peephole optimizer. Rafael pointed out that the intent of this is to make sure that the optree produced by the compiler is correct, and Hugo added that it could also be used for avoiding certain optimizations and allowing other aggressive optimizations.
http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2004-11/msg00150.html
Tassilo investigated further which peephole optimizations are
currently mandatory for tests to pass. Jim Cromie suggested that he
mess with B::Generate
and optimizer
, which are in need of work.
http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2004-11/msg00185.html
Ben Morrow submitted, among other proposals, that
$SIG{FOO} = undef;
try to block the signal FOO
, then, failing that, IGNORE
it.
Nick Ing-Simmons brought up the problem of unmentioned signals
being undef
, and the badness of blocking them (in particular,
$SIG{INT}
).
http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2004-11/msg00234.html
Tels was dismayed by the inefficiency of the common "seen hash" idiom
$seen{foo} = 1; if (exists $seen{foo}) {... }
Even using undef
doesn't save much, so he wondered how he could
share the undef for all the hash values. It turns out Gisle Aas has
already done this with Array::RefElem
. Randy Sims suggested that
we really want a set instead, for which Tels found Set::Object
.
If you're like I was before doing the summaries, scanning for neat ideas, this thread is one you don't want to miss.
http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2004-11/msg00288.html
Allen Smith successfully trolled with an "-ize" vs. "-ise" comment (actually I found the discussion interesting).
Yitzchak Scott-Thoennes fixed do "c:/foo.pl"
on Cygwin.
David Nicol discussed writing a distributed (network) lock manager.
Gisle Aas fixed a stack corruption in Tk
, which fixing filled
H.Merijn Brand with joy.
Jim Cromie continued work on optree tests, a problem with interleaving stdout and stderr on VMS and Cygwin.
Steve Peters resuscitated at least 16 old bugs on RT, only to crush most of them beneath his shoe.
The thread for bug number $BUGNUM can be found at http://rt.perl.org/rt3/Ticket/Display.html?id=$BUGNUM.
This summary was written by Scott Lanning. Summaries are published weekly at http://use.perl.org/ and posted to a mailing list whose subscription address is perl5-summary-subscribe@perl.org. The archive is at http://dev.perl.org/perl5/list-summaries/. Comments and corrections are welcome.
Cheers,my %seen;
undef @seen{@special};
for (@things) {
if (exists $seen{$_}) {
...
}
}
Re:Sharing hash values - another solution
Aristotle on 2004-11-19T21:00:38
Wouldn't that simply store undefs implicitly?Re:Sharing hash values - another solution
btilly on 2004-11-19T21:34:40
Yes, that is the effect, but the goal is to achieve the effect using as little time as possible, and that solution does it faster.Re:Sharing hash values - another solution
Aristotle on 2004-11-19T22:02:29
Oh; that is correct, but it wasn't clear that that was your point. The thread in point talks about memory wasted by duplicate undef scalars.Re:Sharing hash values - another solution
btilly on 2004-11-19T22:53:32
My understanding at one point was that that solution avoided creating duplicate undef scalars. But that doesn't seem to be the case now (at least according to Devel::Size).