This Week on perl5-porters (4-10 December 2006)

[email protected] (David Landgren) Fri, 15 Dec 2006 23:06:56 +0100
Newsgroups perl.perl5.porters,perl.perl5.summary
Organization The Lusty Decadent Delights of Imperial Pompeii
Message-ID <[email protected]>
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 "@{%hash}{@idx}", 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."