develooper Front page | perl.perl5.porters | Postings from April 2008

This Week on perl5-porters - 23-29 March 2008

Thread Next
David Landgren
April 3, 2008 15:04
This Week on perl5-porters - 23-29 March 2008
Message ID:
This Week on perl5-porters - 23-29 March 2008

   "Anyway, a lot of these design changes work together to produce a
   smoother result. I confess I haven't thought much about whether they
   could be borrowed piecemeal; I have a hard enough time keeping one
   fantasy language in my head at a time." -- Larry Wall, on the
   differences in exception handling between Perl 5 and Perl 6.

Topics of Interest

Perl and CPAN distributors

   The thread wound up this week with Gabor Szabo asking for someone to
   summarise the main points made in the discussion, for inclusion on the
   Perl5 wiki. The idea is to make life easier for people who package
   perl in operating system distributions, by explaining what they may,
   should and must do.

   Nicholas Clark noted that starting from 5.11, the infrastructure is
   nearly all there for the perl5-porters to remove modules from the core
   while allowing distributors and local sites to continue to keep them,
   in a graceful manner.

     modular ecology

Perl @ 33536

   The 5.8.9 snapshot is having problems on Vista. Jan Dubois saw
   t/op/alarm.t failing but wasn't able to track down why. In the
   meantime, he released "Win32" 0.35 on CPAN. This will be folded into
   5.8.9 to upgrade the "Win32" therein from its current development

local $@ has an unwanted side effect

   Larry Wall gave the porters a run down on the current thinking
   regarding exception handling in Perl 6. Most of the pieces are in
   place, except for a hierarchy of exception object types, as @Larry are
   waiting to see the various implementations make of it all.

     there is no try

pod wiki?

   Reini Urban wanted to write in POD for the Perl 5 wiki (that uses
   SocialText as a back-end). Michael G. Schwern explained that the
   existing plug-in/markup-escape infrastructure was up to the job, and
   sketched out how one might go about doing it. Reini was sufficiently
   motivated to take a stab at setting it up.

   Tels thought that it was silly to write Yet Another Pod-HTML
   convertor, and Michael thought that "Pod::Simple::HTML" should be
   close. Aristotle Pagaltzis thought that "Pod::POM::View::HTML" wasn't
   too bad either.

"left_shift" problem

   Reini has started to write a document about the guts of the op-tree.
   He started with the most trivial of op-codes, the one that performs a
   left bitshift ("<<"). Unfortunately he became side-tracked over the
   way signed and unsigned integers are used depending on whether the
   "use integer" pragma is in force. Yitzchak Scott-Thoennes explained
   the reason why things were why they are.

     hard left turn right

Append "64" suffix to some of the installed files

   Sérgio Durigan Júnior continued his quest to get 32- and 64-bit perls
   coexisting peacefully on his machine. Abigail showed how many
   different perls could live in the same directory tree, sharing common
   pure-Perl modules and keeping binary-incompatible files separate.

   Dominic Dunlop remarked that Apple had managed to do just that
   already, but unfortunately no-one outside Apple had managed to
   replicate what they had done. Nicholas Clark mentioned that Edward Moy
   had some raw patch files to do just that, but didn't have the time to
   tidy them up (nor did Nicholas). Sounds like a nice self-contained

   Other discussion in the thread talked about how perl is installed on

     more bits

Too late for -Co

   Alberto Simões wanted to know how he could make some old scripts work
   with 5.10, since they have "-Co0" on the shebang line. Aristotle
   Pagaltzis recommended "use open OUT => ':utf8', ':std'" as a suitable
   replacement. Rafael Garcia-Suarez explained that "-C" had received
   this treatment as a consequence of a bug report, and that there was a
   TODO item recorded that explained what needed to be done to have the
   old behaviour reinstated (this time, without bugs).

     get it right

Making more robust

   Jan Dubois had been exploring approaches to make "", since
   depending on whether an executable foo anything, as opposed to a
   specific foo.bat, exists in the current directory or not, you can wind
   up running something else that the program you thought you were going
   to run. Spaces in path names add to the fun.

   With a series of four fall-through tests, Jan thought he had all the
   bases covered, and defied anyone to come up with a scenario that could
   get past the last case and hit the "Can't find full path" error

   Jan also hoped that there were no longer any serious Perl users stuck
   on Win9X.

     going batty

Patches of Interest

Too much sv.c consting

   Nicholas Clark undid the final batch of consting from last week that
   Steven Schubiger had applied to sv.c. What is more, it was the second
   time he had had to roll back the same change.

   Unfazed, Stephen delivered the fourteenth patch in the series. Andy
   Lester explained that he had considered doing what Steven is currently
   doing, when he was on his consting quest, but had considered that the
   added value wasn't worth the price.


   Rafael Garcia-Suarez edited to recommend in its
   place, and ask Max "Corion" Maischein to release a new version of
   "parent" to synchronise CPAN with blead. Some minor problems cropped
   up that Jerry D. Hedden tidied up.

     debased and vms.c fixes

   John E. Malmberg delivered some urgent patches to get VMS to build out
   of the box. H.Merijn Brand handled part of the patch through the brand
   new metaconfig infrastructure. Unfortunately this caused other
   platforms to complain unnecessarily. H.Merijn wasn't sure if he was
   doing something wrong, or whether the approach cannot work.

Documentation fix for perlfunc/shutdown

   Paul Fenwick documented the return values of "shutdown" (whose
   existence I had so far managed to ignore). Nicholas Clark tried to
   improve Paul's prose and Paul came back with yet a better version.

     and turn the lights out

Solaris build warnings

   Jerry D. Hedden found some warnings when building blead on Solaris.
   Andy Dougherty traced this to arrival of the "PERL_BITFIELD16" typedef
   and proposed a minimal patch that cast things together correctly. Or
   at least silently. Unapplied.

Revising perlhack.pod

   Leon Brocard updated the documentation to "perlhack" to take into
   account the changes to perlmain.c, and some notes on using "valgrind".
   Applied after a resend.

Do not use "SVTYPEMASK" to prevent cleaning of "PL_fdpid" and "PL_strtab"

   As part of his ongoing Kurila experiment (a fork of the perl5
   codebase), Gerard Goossen traced down some problems that exist in the
   Perl array implementation.

   Nicholas Clark used the information to provoke an assertion failure
   when running a "make minitest". He applied Gerard's change, and
   suggested that there are still some things that need to be sorted out.

New and old bugs from RT

"POSIX::SigSet" double free with threads (#36653)

   Steve Peters took another look at this problem from 2005, and
   discovered that while 5.8.8 ran without error, blead panicked with a
   free from wrong pool.


Segfault on @ISA push after symbol table delete (#52074)

   Peter Scott posted a one-liner to make blead dump core. Nicholas Clark
   noted that since 5.8.8 is immune, it must be a problem in the new MRO

     nice self-contained task

"Text::Wrap::wrap()" generates a segfault with Cyrillic characters when 
the utf8 flag is turned on (#52104)

   Frédéric Buclin filed a ticket that was turned arose in the
   development of Bugzilla (heh). Nicholas reduced it to a simple matter
   of a regexp using "pos()" inside a substitution, and tracing back,
   realised that the bug had been lying in wait, ever since it checked
   in, back in 2000.

   It was then a simple matter to fix it in change #33580. As a bonus,
   this should make it into 5.8.9-to-be. Frédéric wondered what he could
   do in the meantime. Nicholas suggested one approach and Robin Barker
   another. Aristotle Pagaltzis, who wrote the current implementation of
   "Text::Wrap::wrap" (and built it for speed), suggested downgrading to
   a previous version.

     that wraps it up

"POSIX::strftime" hangs on %Z under cygwin (#52126)

   Eric Roode reported a bug in 5.8.8 that had previously been reported,
   and fixed, with change #29350. Nicholas Clark announced that said
   change was included in 5.8.9. Steve Peters showed how changing the
   final argument to "strftime" prevented the process from hanging in the

     tis a matter of time

Build error on AIX (#52188)

   Shanthi Muthu Srinivasan was unable to build 5.8.8 on AIX, the process
   blowing up when trying to link "miniperl". Dominic Dunlop suggested
   that it could be due to running out of disk space, and that
   Activestate have an Activeperl distribution for AIX that may be worth
   a try. H.Merijn Brand suggested a special incantation for 64-bit AIX.

   No further information was forthcoming.

XS error in "Win32::Console::_WriteConsoleInput" (#52216)

   Ed Sanman traced down a problem of console misbehaviour to what is
   probably a case of bad cut'n'paste. Not confirmed.

     watch your stack

Perl5 Bug Summary

     294 new + 1509 open = 1803 (+8)

New Core Modules

   DB_File 1.817
       Paul Marquess synchronised blead and CPAN.

This is the BBC

   Regexp-Optimizer 0.15
       Andreas König discovered, somewhat belatedly, that change #28868
       broke Dan Kogai's "Regexp::Optimizer" package.

In Brief

   Nicholas Clark applied Dominic Dunlop's patches to tidy up failing
   tests on PPC64.

   Vincent Pit spotted an apidoc mismatch for "Perl_magic_clearhint" and
   offered a patch, so Rafael applied it.

     wild cut'n'paste

   Niko Tyni spotted a nasty typo in "IO::Socket::INET" where a hash key
   was named "upd" instead of "udp", and also offered a patch. H.Merijn
   applied the patch. I wonder if we could have tested for that.

     nice catch

   chromatic tweaked the usage documentation for utils/dprofpp.PL.

     being consistent

   Gerard Goossen also rejigged the MAD dump XML escape regexp, thus
   fixing a pile of tests that used to fail when run madly.

   Yitzchak Scott-Thoennes thinks that "Devel::Cover" in the core would
   be a marvellous idea.

   Nicholas Clark wrote some code to detect "Configure" test goofs and
   H.Merijn Brand folded it into the configuration infrastructure.

   David Cantrell hopes that Dave Mitchell's perl 5.10.1 plan includes
   Jarkko Hietaniemi's patch for "Encode::Alias".

     20 houses down from the beast

   The bug tracking system thread attracted more discussion this week.

   Sérgio Durigan Júnior pinged the list about his problems when setting
   the libraries' installation path.

   Jim Cromie had a small interesting task to do, something about
   separate debug info.

     didn't set the world on fire

   Lincoln Stein absorbed a "CGI::Carp" typo difference between blead and

   Peter Scott took a bash at glob in scalar context, offering a patch to
   reset the iterator in certain circumstances. Yitzchak showed how such
   a change would lead to even harder to debug problems.

     an oldie but a goodie

   It would appear that change #26980, regarding an improvement to
   "PERL_DONT_CREATE_GVSV", would be the reason for test failures in

TODO of the week

   A task that need a little C knowledge

Weed out needless PERL_UNUSED_ARG

   The C code uses the macro "PERL_UNUSED_ARG" to stop compilers warning
   about unused arguments. Often the arguments can't be removed, as there
   is an external constraint that determines the prototype of the
   function, so this approach is valid. However, there are some cases
   where "PERL_UNUSED_ARG" could be removed. Specifically

   *   The prototypes of (nearly all) static functions can be changed

   *   Unused arguments generated by short cut macros are wasteful - the
       short cut macro used can be changed.

Last week's summary

   Actually, two weeks ago. Sam Vilain explained how one could go about
   cherry-picking patches with git and promised to create a new version
   of the repository in UTF-8, so that people with non-Latin-1 names may
   be represented faithfully. (Hi Slaven!)

   In mail to the list, I had complained about "foo" being rendered as
   ``foo'' in the summaries. It turns out that this is because at some
   point I switched my POD-to-HTML conversion from blead's "pod2html" to
   that of maint.

   It turns out that lots of bugfixes went into the 5.10 release of
   "Pod::Html", but as the module is not dual-lifed, it is difficult to
   upgrade older perls. So I volunteered to take care of dual-lifing it.
   Look for 1.09_01 on a CPAN mirror near you soon.

     This Week on perl5-porters - 9-15 March 2008

     This Week on perl5-porters - 16-22 March 2008

About this summary

   This summary was written by David Landgren.

   Weekly summaries are published on and posted on a
   mailing list, (subscription: The
   archive is at 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.

Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About