This Week on perl5-porters (Oct 04-10 2004)

rafael on 2004-10-12T12:57:00

New week, new summary, from the hands of our newly recruited summarizer. This time, thoughts on cross-compilation, threads, BSD, scary internals stuff, and other things.

Crosscompiling perl

Alexander Povolotsky, lacking a native compiler on Linux PPC, tried to crosscompile from Cygwin (Intel). Many people admonished that while crosscompiling perl is possible in principle, there's little support for it, so getting the native compiler in place would probably be easier.

  http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2004-10/msg00039.html 

Threading crash with closures

John Gardiner Myers reported (bug #31851) a bug in threads where $thread->join prematurely frees a closure because the CVs' op tree refcount isn't thread safe. [Please correct this explanation if necessary.]

  http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2004-10/msg00065.html 

Smoke failing on FreeBSD

Abe Timmerman's new smoke machine, a FreeBSD-running sparc64, failed with what might be an integer-size configuration problem.

  http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2004-10/msg00071.html 

Weird results from hash assignment with duplicate keys

Boris Zentner, trying to remove duplicate hash values

  %h = reverse (%x = reverse %h);

discovered a fascinating bug (#31865) in assigning duplicate keys to a hash, pinpointed by Rick Delaney (and Devel::Peeked by Graham Barr):

    $ perl5.8.3 -le 'print (%x = ("a",1,"b",2,"b",3));'
    bb
    $ perl5.6.1 -le 'print (%x = ("a",1,"b",2,"b",3));'
    a1bb3

(should be 'a1b3').

  http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2004-10/msg00073.html 

Making regcomp a list op

Dave Mitchell set the stage for fixing the behaviors of (?{...}) and regex objects, by making regcomp receive the components of run-time regexes ($a, '-', $b in /$a-$b/) as a list rather than a concatenation of the components. Commentators oohed and aahed as the chessmaster advanced his pawn. [If you're an internals novice like me, try understanding Dave's before and after B::Concise output, using B::Concise (what do the flags mean?), perlguts (the ``Compiled code'' section), and perlcall (what's a PUSHMARK?).]

  http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2004-10/msg00132.html 

IO::Poll undef fd unchecked in mask method

Peter Dintelmann found a problem (bug #31864) in IO::Poll, where its mask method incorrectly evaluated an undef argument as 0 (STDIN).

  http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2004-10/msg00072.html 

Dynaloader improvements and cleanup

Vadim Konovalov continued his Dynaloader patching from the previous week, and while he was at it enabled statically linked extensions for Win32. More fixes to come.

  http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2004-10/msg00034.html
  http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2004-10/msg00126.html 

Releases

Encode 2.03 - Dan Kogai

Module::Build 0.26 - Ken Williams

Random quote

From Dave Mitchell's sig:

Any [programming] language that doesn't occasionally surprise the novice will pay for it by continually surprising the expert. -- Larry Wall

Reference

The thread for bug number $BUGNUM can be found at http://rt.perl.org/rt3/Ticket/Display.html?id=$BUGNUM.

About this summary

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 welcome.