This Week on perl5-porters - 4-10 December 2006
"This comment in mg.c scares me: "/* Not sure why the av can get freed
ahead of its sv, but somehow it does */"" -- Marc Lehmann, uncovering
ancient evil.
Topics of Interest
madly duplicated files
Dave Mitchell performed some stellar file refactoring to bring Misc
Attribute Decoration under control. As a result, the only extra file
is a two-liner madly.c file.
preprocessor does the rest
http://xrl.us/twg2
How to create a new Config setting?
Steve Hay wanted to add a new Config variable to indicate that perl
was simply capable of emulating a "fork". This would eliminate the
need for some exceptionally hairy boolean logic that no-one gets
right, and thus is subject to error.
He knew how to create new entries in the "win32" config files, but
wasn't sure how to move on from there. H.Merijn Brand explained that
the process was semi-automated, although he had spent time improving
it recently so that less manual work was required.
Craig Berry noted that it would be nice to set this up for VMS as
well, since that platform lacks Unix-style "fork" semantics, but he
was happy to punt with an "undef" for the time being.
http://xrl.us/twg3
Undo VOS breakage caused by change #28892
There is an array of data that the regular expression engine uses, but
if debugging is enabled, the core needs to know about it as well. And
since a debugging build is the exception, and we don't want to bloat
the core for no reason, the array is hosted either the extension or
the core, depending on whether "-DDEBUGGING" is defined.
Paul Green discovered that a recent patch from Yves Orton failed to
build on Stratus VOS, because the linker ended up failing to link the
array to anything in a debugging build. Yves explained it all very
well, so hopefully Paul will be able to concoct something that
satisfies the VOS linker.
http://xrl.us/twg4
Latest Perl in Cygwin is 5.8.7
Adriano Ferreira wondered why the latest available Perl for Cygwin was
not 5.8.8. (hint: the current maintainer stepped down and asked for
volunteers to take over. Does this sound familiar?)
Slaven Rezic said that he had succeeded in building some of the
trickier modules such as "Tk", and so he and H.Merijn Brand swapped
notes.
http://xrl.us/twg5
In other Cygwin news, Jan Dubois tweaked Makefile.PL to get it to
compile Win32.xs.
http://xrl.us/twg6
Do we care about old "dmake"s for building perl on Win32?
Following on from Steve Hay's desire to drop old "make" support on
Win32, David Landgren asked whether it would be possible for an
explanatory error message to be issued if an old "dmake" was pressed
into service, to give the luckless programmer a pointer to the
documentation that tells them what to do.
Steve tweaked the "Makefile" and therefore showed that it was
possible, except that the message doesn't explain what to do to fix
the problem.
http://xrl.us/twg7
"fields" pragma in blead prohibits reblessing
Andreas König noticed that one can no longer bless a "fields" object
into another package (noticed by the fact that a CPAN module,
"Danga::Socket", now fails its test suite).
Dan Kogai, the module in question's author offered a workaround to
repair the breakage, but remained puzzled as to why the error
("Modification of a read-only value") was occurring.
http://xrl.us/twg8
Deadlock in ext/threads/shared/t/cond.t on bleadperl
Jan Dubois saw regular deadlocks in a "threads" test on Win32, and
wondered if it was related to the hangs that Steve Hay sees in his
test smokes. Steve Hay in turn thought that this particular problem
started showing up around the time threads 1.53 was released.
Jerry D. Hedden thought that the problem is probably quite deep and
has only come to light now that multi-CPU boxes are more common, and
thus are really testing the threads implementation instead of just
pretending. If fact, he figured out how the test was failing, but
didn't know how to track down the culprit that would explain why.
http://xrl.us/twg9
Regexp test coverage teaser
Nicholas had a long conversation with himself after looking at
Sébastien Aperghis-Tramoni's coverage reports and noticing that only
the UTF-8 variant of a section of code in the regexp engine was
visited by the test suite.
He wanted to find a non-UTF-8 pattern to shed light on the other side
of the path. He managed to find one, but felt that the fact that it
used "re 'eval'" was cheating a bit. He then thought of a better way,
but tripped over a bug in a "study"'ed variable.
Yves Orton said he'd take a look at things when he had some time.
http://xrl.us/twha
Patches of Interest
User pragmas now accessible from "B"
Joshua ben Jore taught the "B" modules how to deal with user pragmas.
Steve Hay and Yves Orton taught the patch to play nicely on Windows,
and Rafaël Garcia-Suarez fixed up the tests.
http://xrl.us/twhb
"Deparse.pm" gets confused by slices
Bo Lindbergh produced a patch to stop "Deparse.pm" getting confused
between package and lexical variables when slices are involved.
Nicholas Clark chided him for copying code, so Bo came back with a
fully-refactored improvement that Rafaël applied.
New! Improved!
http://xrl.us/twhc
New and old bugs from RT
Perl coredumps on nested "s///e" (#40274)
Appears fixed in blead, probably when the regular expression engine
went re-entrant.
http://xrl.us/twhd
perlio forgets buffering settings on EAGAIN (#41043)
Marc Lehmann tracked down a problem concerning buffering in PerlIO.
http://xrl.us/twhe
"bignum" returns NaN when raising integer value to negative power (#41050)
E. Culver noted that if "bignum" is in force, 10 ** -1 returns Nan
(instead of 0.1).
brand new mathematics
http://xrl.us/twhf
perldoc: deal with 2nd etc. arguments (#41054)
Sean M. Burke asked if anyone wanted to take over the maintenance of
"perldoc", since he no longer had the time to devote the attention it
requires. Which is in fact not a whole lot.
Apply within
http://xrl.us/twhg
Nested closures drop outer lexical scope (#41057)
Marcus Holland-Moritz noted that a bug, as reported by Aaron D.Ball,
is FIB.
Fixed In Blead
http://xrl.us/twhh
make rebuilds perl every time (#41058)
Marc Lehmann noted that "gcc 4.1.2 20061115 (prerelease) (Debian
4.1.1-20)" would rebuild perl every time "make" was run. Neither Andy
Dougherty nor Rafaël were able to reproduce the problem.
works for me, alas
http://xrl.us/twhi
weak references cause corruption, crashes etc. (#41061)
Marc also noted that any time he tried to use weak references in any
non-trivial program, it would crash in any number of different and
entertaining ways. Try as he might he was not able to produce a small
test case, but offered some suggestions as to where to look.
sort of like Switch.pm
http://xrl.us/twhj
perl segfaults when "map" arguments get freed (#41062)
Marc filed a third report concerning "map" that I was happy to report
as FIBbed.
http://xrl.us/twhk
Perl5 Bug Summary
A stasis, of sorts. Still stuck at 1501 open tickets.
http://xrl.us/twhm
http://rt.perl.org/rt3/NoAuth/perl5/Overview.html
New Core Modules
* "Test::Simple/More/Builder/Builder::Tester" version 0.66 escaped
from the Schwerniverse.
http://xrl.us/twhn
In Brief
Time::HiRes is happy again. One has to tread lightly on XS code that
is still able to run on 5.004.
http://xrl.us/twho
A truly satisfactory approach to install missing
"Compress/IO/{Base,Zlib}" has not been found, but the current solution
is good enough.
something special
http://xrl.us/twhp
Robin Barker explained precisely why integer exponentiation may return
a floating point result.
http://xrl.us/twhq
Adriano Ferreira had a problem with "@[EMAIL PROTECTED]", since %hash is
now evaluated in scalar context for a slice. The construct was always
iffy at best, now it is an error.
less deviance
http://xrl.us/twhr
Yitzchak Scott-Thoennes ensured that "-DDEBUGGING=both" sets "-g",
because it would be a pity if it didn't.
http://xrl.us/twhs
Jim Cromie took a stab at refactoring dump.c to remove some
cut-and-paste code and asked for some XS mavens to make sure he hadn't
made any drastic mistakes.
Warnocked
http://xrl.us/twht
Yves supplied a few more tweaks to make it easier to create regexp
engine plug-ins, which were applied, with a few tweaks.
http://xrl.us/twhu
Jerry D. Hedden realised that "Perl_save_destructor" is not a mathom,
since it is required by "Opcode". Rafael unmathomised it.
Back from the cemetary
http://xrl.us/twhv
Jan Dubois moved some files around between win32/ext/Win32 and
ext/Win32, which made sense, but had some surprising cascade effects.
http://xrl.us/twhw
Andy Lester forwarded a message containing information about the
Klocwork analysis of Perl, but Jonathan Rockway pointed out that a
password is needed to pass the gate.
Let me in
http://xrl.us/twhx
John E. Malmberg issued an extensive followup to Craig A. Berry's
remakes on the patch to provide VMS xterm support for the debugger.
http://xrl.us/twhy
Ilya Zakharevich delivered the missing link for building perl on OS/2.
http://xrl.us/twhz
About this summary
This summary was written by David Landgren. Sorry about being later
than usual. Too many end of year parties, and I'd sooner drink wine
and scoff oysters than write summaries.
Weekly summaries are published on http://use.perl.org/ and posted on a
mailing list, (subscription: [EMAIL PROTECTED]). The
archive is at http://dev.perl.org/perl5/list-summaries/. Corrections
and comments are welcome.
If you found this summary useful, please consider contributing to the
Perl Foundation to help support the development of Perl.
--
"It's overkill of course, but you can never have too much overkill."