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

This Fortnight on perl5-porters - 13-27 April 2008

From:
David Landgren
Date:
May 3, 2008 11:29
Subject:
This Fortnight on perl5-porters - 13-27 April 2008
Message ID:
481C3E90.7060506@landgren.net
This Fortnight on perl5-porters - 13-27 April 2008

   "Perl simply isn't broken enough. Most things work too well, hence
   no-one finds that they need to fix their itch, so in turn, they don't
   get sucked into core development generally. Maybe we need to start
   adding bugs, somewhat like a protection racket."

       "Your program works very nicely. It would be a shame if something
       went wrong with it, wouldn't it? ..."

   -- Nicholas Clark, on possible future revenue schemes.

Topics of Interest

Perl @ 33536

   Nicholas Clark followed up on the 5.8.9-tobe thread, regarding binary
   compatibility, pointing out that the entire 5.8 line had never needed
   to rearrange struct layouts, so clearly it's not much of a limitation.

   He thought that forcing a layout reshuffle between each minor release
   sounded like quite a bit of work; Jan Dubois noted that all one needed
   to do was to roll the first member around to the end, which is easy,
   and has the added bonus of guaranteeing that the offset of every
   single member changes.

     challenge their assumptions
     http://xrl.us/bj2sx

Banishing "free to wrong pool", and making Win32 faster?

   Nicholas then related the details of a discussion he had with Dave
   Mitchell concerning the viability of a copy-on-write scheme. The main
   stumbling block is the need for threaded perls to track which
   interpreter allocated a given block of memory, since only the true
   owner should free it.

   This would mean that every single SV needs an extra pointer to link
   back to the parent interpreter, on top of the extra counter needed to
   keep track of the current copy count.

   So Nicholas went exploring to find out if there was another way to
   determine to which parent a block belonged. After studying things for
   a while he came to the conclusion that between util.c and malloc.c,
   the necessary infrastructure already exists to acquire large blocks of
   memory from the system and then allocate it on an as-needed basis as
   program executes.

   And then he was struck by the fact that this could be useful right
   now, without waiting for a copy-on-write scheme to be written, since
   the above could be used to both speed up Win32's slow "malloc"
   performance and speed up (or at least simplify) thread destruction.

   Another brilliant piece of detective work by Nicholas that, alas,
   attracted no comments.

     http://xrl.us/bj2sz

Taint (PL_tainting, SvTAINTED_on, SvTAINTED_off, SvTAINT)

   Nicholas also took the time to examine Paul Fenwick's reasons for
   dismay with the way tainting can be turned on part way through a
   program and offered a number of answers to Paul's questions.

   By using Sam Vilain's git repository back to the dawn of time, he was
   able to show that the current behaviour was introduced during 5.000
   alpha 4.

     http://xrl.us/bj2s3

Sustaining Perl 5 maintenance

   Nicholas also related a conversation from Real Life (see, the man does
   have a Life) where Leon Brocard asked whether there were enough people
   working on Perl 5, and Nicholas's flat answer was... no.

   The inescapable fact is that working on a codebase that is over twenty
   years old is not fun, it's work. Even taking care of patches people
   send in and shepherding them to completion is work. A back of the
   envelope calculation gives 8 person-work-days, per week, just to stand
   still.

   The grant scheme is not working. Expert Perl users know how to skate
   around the weird parts of the language (or give them a wide berth).
   Companies don't see the need to finance Perl development.

   At the very least, a bug-wrangler who could keep track of bugs, tie
   related bugs together, filter out not-a-bugs, write TODO tests, write
   tests to improve coverage... well, it's a full-time job. And not fun.
   At least not always. Hardly ever.

   Dave Mitchell pointed out that a seemingly innocuous bug report about
   a "premature free" error turns out, after a long debugging session, to
   be another case of a design decision embedded in the code base many
   years ago, at which point there's very little to be done about it.
   This sort of bug cannot be dealt with by a junior coder, lest they
   quickly lose their mind, or at least become quickly discouraged.

   Sven Dowideit gave thanks for the Git repository, which made life much
   easier compared to the previous Perforce export via rsync approach. In
   which case one of the goals for switching over to git has already been
   met.

     life support
     http://xrl.us/bj2s5

Updated Perl Git, with the Git Nits Picked

   Sam Vilain, on the subject of the Perl Git, announced that he had
   cleared up all the problems outstanding with the first release of the
   repository and said that the current repository would likely be the
   definitive one.

   Rafael Garcia-Suarez announced that his company, booking.com, had
   offered the bandwidth and hosting for the repository, and it would
   live under the perl.org domain. He said that the move to git will take
   place once 5.8.9 is out the door and so in the meantime Sam will have
   to continue to import the Perforce changes.

     git.perl.org
     http://xrl.us/bj2s7

www.osscensus.org

   Andy Armstrong mindlessly propagated a link to a web site that
   purports to perform a census on the adoption of open-source software,
   and was keen to find out how Perl fared.

   Apparently one has to download a 44Mb Ruby application as part of the
   process.

     that's the easy part
     http://xrl.us/bj2s9

t/test.pl taint issue with VMS

   John E. Malmberg returned to the issue of $ENV{PATH} being tainted on
   VMS and there being no way to untaint it in order to allow test.pl to
   execute "runperl". Part of the problem is that $ENV{PATH} need not
   even exist on VMS, and things will work just fine without it.

   He recalled that the issue worked if PATH was defined beforehand but
   couldn't track down the original discussion on the matter.

     finding your way
     http://xrl.us/bj2tb

Wrong line numbers in "elsif()"

   This one's been around for a *looong* time and now, finally, it may be
   time to retire advice #11943 from Klortho.

   Nicholas Clark took another look at it and decided that it would make
   a lovely opener for the Vienna Summer of TODOs project. Then when he
   took a closer look, he thought of a trivial solution that just might
   work after all.

   He wrote up the new TODO, and within 12 hours, Rafael Garcia-Suarez
   had written and applied a patch to implement Nicholas's idea.
   Unfortunately it skewed another line numbering result. So he committed
   a better change (#33710). Nicholas wondered whether Rafael was going
   to fix each TODO he attempted to propose as worthy of a bounty.

   Bram wondered if this was related to bug #47632, and asked whether the
   fix could be extended to resolve a variation on the theme (of
   reporting incorrect line numbers).

   Tim Bunce was very pleased, because an unexpected benefit that came
   out of this was that all line-based execution profilers picked up the
   improvement for free.

   Paul Johnson saw that "Devel::Cover" was flummoxed by the change, but
   he noted happily that the test suite was reporting the error in an
   appropriate way which should simplify the fix. He also saw that
   "B::Deparse" got a little confused as well and offered a patch to fix
   that up.

     "Ah yes, and you are the first person to have
     noticed this bug since 1987. Sure."
     http://xrl.us/bj2td

   The above work thus allowed Rafael Garcia-Suarez to announce that the
   bug "if ... elsif" gives wrong line number for warning about undefined
   value (#37302) was hereby fixed.

     so backport it
     http://xrl.us/bj2tf

valgrind

   H.Merijn Brand took valgrind for a spin on his Text::CSV_XS module to
   see what happened. In the process he discovered that it works better
   if you have a perl built with "-DDEBUGGING", but a module written by
   Rafael ("Perl::Destruct::Level") partially obviates the need.

   Marvin Humphrey explained what good valgrind figures should look like
   and made some suggestions to reduce the numbers H.Merijn was seeing.
   Vincent Pit asked whether his brand new "Test::Valgrind" would be of
   any use, and this caught Marvin's attention.

     the daily grind
     http://xrl.us/bj2th

"ExtUtils::CBuilder" with MinGW on Win32

   Steve Hay asked about the status of "ExtUtils::CBuilder" (or more
   specifically, the differences between the CPAN version, the
   development version in its Subversion repository and blead). When all
   was said and done, version 0.23 made it out to CPAN and this contains
   the MinGW fixes that will clean up Steve's smokes.

   On the other hand, the blead version still contains some VMS-specific
   fixes that need to be merged back into the development version of the
   module to get everyone in synch.

     whither 0.24?
     http://xrl.us/bj2tj

Object ~~ overloading and not

   Ricardo Signes reminded the porters about the perils of

     $anything ~~ $obj_without_overload

   and wrote a test case to try and nail it down. But something went
   wrong and he had a core dump on his hands. Rafael took over and
   cleaned everything up so that we know have a nicely-behaved TODO test.

     http://xrl.us/bj2tm

   In other news, he also wrote a testcase as a followup to the "Array ~~
   Any" discussion, but this appears to have been overlooked.

     http://xrl.us/bj2to

Support mallocs of struct T containing struct S[N]

   In his continuing explorations of slab allocations, Jim Cromie offered
   a patch to allow structs with arbitrarily-sized arrays of structs to
   be allocated easily.

   This was a follow-up to his Warnocked patch at the beginning of the
   month dealing with exposing the ptr-table subsystem, on the grounds
   that it offered a speed boost to XS authors. It turned out that
   freeing ptr-tables was very slow, and so switching to a slab allocator
   would simplify the freeing, since one could just throw the slab away.
   But for that to work, one needed to be able to calculate the overall
   required size needed for variable length allocations.

   Those who were sufficiently well versed in the finer details of the C
   standard pointed out that not many current compiler implementations
   had implemented this part of the standard, which appears to have
   compromised the acceptance of the patch.

     unwarranted chumminess with the C implementation
     http://xrl.us/bj2tq

Why is Ruby on Rails so darn slow?

   A long digression about the relative merits of speed and usefulness of
   Perl, Ruby and Java, inspired by a web article written by Tim Bray.

     not much porting going on
     http://xrl.us/bj2ts

Perl 5.10 and the concept of stable

   Alberto Simões learnt that Slackware 12.1 was about to be released,
   and it is set to go with 5.8.8 rather than 5.10.0.

   When he enquired as to why this was, he was told that according to the
   documentation on cpan.org, 5.10.0 is considered a testing release, and
   thus not suitable for general deployment (as in being bundled with a
   Linux distribution).

   Matt S. Trout warned that anyone into Catalyst will run into problems
   with attributes on an unpatched 5.10.0. Reini Urban had several
   patches for Cygwin that had to make it back in.

   The fact that "given"/"when" and smartmatch have problems was brought
   up again, and a call was made for someone to go through the archives
   and track down the exact issues (which occurred during my summary
   sabbatical, sorry).

   If a concise explanation can be made and a concensus can be reached as
   to what the desired behaviour is, Dave Mitchell, Matt S. Trout and
   Ricardo Signes offered to put in the work to get it done.

     smartmatching the concept of stable
     http://xrl.us/bj2tu

   Matt S. Trout reiterated the call for information.

     http://xrl.us/bj2tw

Any takers for "Math::Complex"/"Math::Trig" and "Time::HiRes"?

   Jarkko Hietaniemi put the maintenance of these dual-life modules on
   offer, citing lack of time to be able to devote the required tuits to
   shepherd them along. Zefram offered to take them over, since they were
   already of interest to him.

     time for some maths
     http://xrl.us/bj2ty

Bug or not? constants warn only once

   Nicholas was surprised that the following code only produces one
   warning:

     perl -lwe 'sub pie {print 0 + "pie"}; pie; pie;'

   An even simpler variation on theme also didn't produce subsequent
   warnings and one could argue that it should. The problem is that the
   expression gets marked as valid numerically (or more precisely, "IOK"
   gets set) after the first time through (and issuing a warning) whereas
   the second time around the numeric context is used directly, thereby
   skipping the chance for the warning to fire.

   Jan Dubois therefore observed that this was the equivalent of saying
   that "IOK" should be not be set if the conversion generated a warning.

   Abigail ventured the opinion that one warning was enough, and that if
   the problem the warning was signalling was so important as to merit
   repeated warnings about the same problem, then the warning should have
   been an error in the first place.

   In the end, Nicholas suggested a series of tests to codify the
   behaviour and asked people to see if any loose ends needed to be tied
   up.

     have your say
     http://xrl.us/bj2t2

One less "File::Copy" bug

   Nicholas fixed up the very silly bug that allowed one to copy a file
   using a buffer of 0 bytes, which is only useful if you want 0 bytes in
   the copied file.

   The conversation then veered into a discussion about the fact that
   "File::Copy" doesn't respect file permissions and attributes, and
   other generally unhelpful problems the module has.

     it's ok to ask the OS to do it
     http://xrl.us/bj2t4

New perl packages fix denial of service (Debian)

   Spiros Denaxas wanted to know if the porters were aware of a Debian
   security issue concerning buffer overflows in regular expressions
   containing Unicode characters.

   Tony Cook replied that there was an open ticket (#48156) on the issue
   in the bug database.

     http://xrl.us/bj2t6

On the almost impossibility to write correct XS modules

   Marc Lehmann wrote an impassioned plea to see what could be done about
   helping XS modules work correctly with Unicode strings.

   The first problem is that the raw interface to a string ("char *") is
   useless, since there is no side channel to tell the XS code what
   encoding is in use.

   In reaction to this, some XS authors have invented their own XS
   typemaps to get around the problem, however this can result in objects
   being stringified.

   The only way out that Marc could see was to take a mortal copy of the
   input argument. Rafael thought that it might be possible to invent a
   more efficient mechanism, if only syntactically.

   Marc stressed that the problem with the current situation is that when
   people encounter the problem on their own, they wind up learning about
   the utf-8 flag and begin to play around with that, and this leads to
   only more tears. Hence, if Perl wants to get really serious about
   Unicode, it needs to be addressed in a sane manner for XS.

     http://xrl.us/bj2t8

INSTALLDIRS and dual-life modules

   Paul Marquess inquired about the right way to deal with CPAN updates
   overwriting core versions of modules correctly. By default, the CPAN
   shell will carefully install the new version in an @INC directory
   listed after the core version (also known as shadowing). The trick is
   to specify an override in the "Makefile.PL" (or "Build.PL") of the
   CPAN module.

   Rafael wondered if there was a problem with the core installing files
   in architecture-dependent directories when in fact they should be
   installed in architecture-independent directories, and whether it was
   because of some blanket assumption about the modules living under ext/
   in the codebase.

     http://xrl.us/bj2ua

Closing tickets in RT

   Bram trawled through RT and found close on a dozen tickets that he
   thought could be closed. So Steve Peters closed them. For another
   ticket concerning AIX, H.Merijn Brand suggested a hint that checks
   that the maths library is available.

     http://xrl.us/bj2uc

Linking with "DynaLoader" and "ExtUtils::Embed::ldopts" since 5.10

   Reini Urban reported that linking against DynaLoader had become quite
   difficult since the release of 5.10, due to changes in the way various
   linker symbols were exposed where. Rafael pointed to the exact change
   to help Reini understand what was going on.

   Nicholas Clark thought that a test or two wouldn't go astray.

     http://xrl.us/bj2ue

Smoking bleed @33752 blew up my system

   Johan Vromans had the misfortune to smoke change #33752, which was
   perfectly bracketed by change #33751, which introduced a bug into the
   forked debugger code that was then reverted by change #33753.

   Unfortunately the bug caused the smoker log file to fill up the
   remaining disk space with an endless loop of debugger output.

     you have been warned
     http://xrl.us/bj2ug

TODO of the week

   Hey! We got a bite! James Bence wrote a patch to make a reproducible
   perlmodlib.PL. Note to budding TODO doers: please use unified diffs
   for sending patches ("diff -u", or the more melodious "diff -dub").

     smoke that
     http://xrl.us/bj2ui

   Next up, I think the following two TODOs are dids.

   Improving "threads::shared"
       Investigate whether "threads::shared" could share aggregates
       properly with only Perl level changes to "shared.pm".

   "POSIX" memory footprint
       Ilya observed that "use POSIX" eats memory like there's no
       tomorrow, and at various times worked to cut it down. There is
       probably still fat to cut out - for example POSIX passes Exporter
       some very memory hungry data structures.

   I believe that the first issue, if anything can be done about it, is
   receiving the appropriate amount of care from Jerry D. Hedden. And the
   second issue has been resolved with Nicholas Clark's new
   implementation for constant subs.

   Here, then, is a TODO that requires 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.

Patches of Interest

perlfunc.pod: "atan2(0,0)" returns 0, not "undef"

   The porters continued to study the holy scriptures (that is, the C
   standard) this past fortnight to figure just what was the best thing
   for "atan2(0,0)" to return. Rafael Garcia-Suarez boldly went where no
   pumpking had gone before, and declared with change #33676 that it
   should return "undef". And almost immediately began to have second
   thoughts.

   Andy Dougherty opened another can of worms and asked if we should also
   be checking for things like ±0. But it seems that, buried in the
   Configure infrastructure, we already do.

     an error shall not occur
     http://xrl.us/bj2uk

Allow "->[]" and "->{}" instead of "@{}" and "%{}"

   Ben Morrow delivered an amazing hack to the parser to allow "$x->[]"
   (currently a syntax error) to be semantically equivalent to @$x, and
   this comes in handy when $x is a complex hash-array-hash-hash-array
   dereference.

   Rafael Garcia-Suarez commended Ben on the patch, and asked for a)
   tests and b) whether "qq{$x->p[]}" worked, since the latter involves
   working with the scarier parts of the lexer.

   One problem that arose with builtins and there prototypes is that the
   lexer really, really, *really* wants arrays to begin with a "@" sigil.
   Nevertheless Ben came back with another iteration of the patch that
   solved that problem, by pushing the is-it-an-array decision from the
   lexer into the various ops. As a bonus this slims the "PL_parser"
   struct, and shaves off an op here and there.

   Other people admitted to being a bit disturbed by the patch, citing
   that it added some inconsistencies to the language that were a little
   too weird to explain away with mere hand-waving.

   Jonathan Rockway pointed out that this doesn't help the matter of
   protecting array dereferences from blowing up by guarding it with an
   empty list as in

     @{ $might->{be}{undef} || [] }

   This moved Nicholas Clark to say that autovivification would be less
   inconsistent if @$x, where $x is undef, returned an empty list. This
   garnered a certain amount of agreement, but Graham Barr pointed out
   that code that dereferences "undef" expecting something good to happen
   is probably buggy.

   Aristotle Pagaltzis thought that "autobox::Core" already provides a
   satisfactory solution to retrofitting a saner syntax onto Perl 5, and
   for anything beyond becomes the realm of Perl 6.

   People asked again why it was that "autobox" wasn't in core, and
   Nicholas Clark did such a wonderful job of summarising the debate that
   it deserves its own entry right here:

     http://xrl.us/bj2un

   Matt S. Trout wrapped up the thread to say that new, exotic syntax
   bending must first of all prove itself as a distinct CPAN module, and
   only afterwards should it move into core. And if it can't be done
   without patching the core itself, then the core needs to expose more
   hooks so that such syntax extensions can be made. Which is sort of the
   argument for putting autobox in the core, but like David Nicol says,
   the name is strange, or at least esoteric, and possibly it leads us to
   the Dark Side Of Laziness.

     try this at home
     http://xrl.us/bj2up

Linking to Better Alternatives from core modules

   Shlomi Fish suggested adding SEE ALSO references from core modules to
   other modules available on CPAN that solve the issue in better ways.

   A number of people took issue with the subjective slant of "better"
   and thought that "alternative" would be, well, better.

   One of the suggested modules, in relation to "File::Spec" was
   "Path::Class", but Sébastien Aperghis-Tramoni mentioned that he had
   modified a number of programs at work in this very way, but had to
   roll back the changes due to unexpected interactions between
   "Path::Class" and other non-Path::Class-aware modules on CPAN.

     http://xrl.us/bj2ur

perlbugging non-core modules

   Alexandr Ciornii continued to enhance "perlbug" to warn the user if
   they tried to report a bug in a non-core module. Perhaps part of the
   reason that no-one commented was that he leveraged CPAN.pm to do the
   heavy lifting, which makes for one more thing to go wrong.

     and Module::Corelist?
     http://xrl.us/bj2ut

Fix several problems in "a2p"

   Gregg Weber delivered a patch to fix no less than seven problems in
   "a2p", the awk-to-Perl convertor, as well as the smarts to deal with
   two modern awk language extensions. Tels thought that the patch had
   been inverted, but other than that the patch attracted no comments.

     http://xrl.us/bj2uv

"gcc -foptimize-sibling-calls" cause trouble for perl's signal handler

   Gisle Aas reported that the above switch will cause gcc 3.3 to emit
   incorrect code. This can be patched by adding an explicit return
   statement at the end of the C function that causes the problem.

   Another alternative would be to arrange the build process to not apply
   the -foptimize-sibling-calls switch when compiling mg.c.

     http://xrl.us/bj2ux

New and old bugs from RT

Clearing magic (was: "length($@)>0" for empty $@ if utf8 is in use) (#51370)

   Animator took a stab at resolving this bug report that details how
   magic associated with $@ persists long after the need has gone, and
   proposed a series of approaches all deficient in one way or another
   until finally hitting what looked like the right one.

   Rafael thought the result looked correct, but thought that some more
   testing would be needed, and also wondered if there was a more concise
   way of achieving the same result (rather than 8 lines of code).

   Bram wondered what could be tested, and how to do it. chromatic
   couldn't think of anything better than scraping the output of
   "Devel::Peek".

     ye gods, Devel::Peek::XML?
     http://xrl.us/bj2uz

"Scalar::Util::looks_like_number" *versus* Optimzation in regexp (#51568)

   Nicholas Clark situated the error within "Scalar::Util" and prodded
   Graham Barr to integrate the change (or something that meets with his
   favour) upstream, then it could be merged back into the core
   afterwards.

     c'est utile
     http://xrl.us/bj2u3

Warn/abort on attempted perl exit (#52000)

   Animator suggested overriding the core "exit" built-in function with
   an appropriately verbose equivalent. John Gardiner Myers was doubtful
   as to whether that would help in his situation, since things were
   exiting due to memory allocation failures.

     last exit to prompt
     http://xrl.us/bj2u5

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

   Rafael fixed up the segfault by ensuring that the deleted stash stays
   dead, but wondered what the appropriate behaviour should be when asked
   to act upon a stash that is no more.

   No clear concensus (between Nicholas, Rafael and Graham Barr) arose,
   perhaps because in the end this is just another case where the experts
   just say "yeah well things are a little weird around this part, so
   don't venture out too far", and move on to other matters.

     doesn't crash == good enough
     http://xrl.us/bj2u7

Perl 5.10 regression bug in match and substitution evaluation in list 
context (#52658)

   Rafael backed out the optimisation that Yamashino Hio had written
   (that sped up "s///e" substitutions by freeing intermediate
   temporaries).

     choose correctness
     http://xrl.us/bj2u9

Incorrect variable name in perlintro (#52860)

   Matt Kraai spotted an error in the documentation where the dubious $a
   and $b had been replaced by ordinary $x and $y variables, except not
   entirely.

     http://xrl.us/bj2vb

Invalid "cop_free" of nullified cop (#52920)

   While testing "B::C", Reini Urban discovered that nulled opcodes were
   being freed. He proposed a straight forward patch that addressed the
   symptoms, but wondered if another more subtle patch might be a better
   approach. Then he realised it was "B::C" itself generating spurious
   data that could never be produced by the core, thus there was no cause
   for alarm.

     good cop, bad cop
     http://xrl.us/bj2vd

   In other discussions, Rafael added some code to the core to keep an
   eye out for these sorts of shenanigans.

     never can be too sure
     http://xrl.us/bj2vf

map leaks memory (#53038)

   Robin Redeker reported that "while (1) {map 1, 1}" leaks memory. Bram
   wondered if this was bug #48004 in another guise. Shlomi Fish
   confirmed a leak under valgrind. Nicholas Clark used a machine with
   real hardware watchpoints to pin-point exactly where the leak was
   occurring, but was then not quite sure if it was more an issue of
   particularly delayed house-keeping, rather than a leak *per se*.

     http://xrl.us/bj2vh

UTF-8 converted to Latin1 for output with format incorrect output (#53054)

   Michael Koehn submitted a detailed report where UTF-8 being converted
   to Latin1 in a Perl format went wrong. His workaround was to use an
   explicit "encode" on the data.

   Alexandr Ciornii confirmed the problem exists with 5.10 on Windows.

     http://xrl.us/bj2vj

Modifying $_ inside "given" (#53186)

   Ed Avis was bitten by the fact that "given" takes a copy of its value
   that is in turn passed to $_ for use in "when" statements. Paul
   Fenwick pointed out that if one used "for" instead of "given" then one
   could indeed obtain the desired aliasing behaviour.

     forgiven
     http://xrl.us/bj2vm

perl5.8.8 crashed when I build ikiwiki on gentoo linux (#53200)

   A bug report that attracted no comments.

     double free or corruption
     http://xrl.us/bj2vo

Stop t/op/fork.t relying on "rand" (#53238)

   David Dick noticed that some failures for testing "fork" involved the
   parent and child processes generating a random number. Since the
   generator wasn't explicitly seeded, it turns out that every once in a
   while both processes would generate the same number and the test would
   consequently fail.

   David wrote a patch to ensure that the numbers are always different,
   and Rafael applied it.

     that must have been hard to reproduce
     http://xrl.us/bj2vq

perl-5.10.0-33733 assertion with JSON::XS-2.2 (#53244)

   David Favor reported a failure in "JSON::XS" on the maintenance track
   of 5.10. Nicholas Clark suggested a patch to fix "JSON::XS". Marc
   Lehmann was surprised as it seemed to him that "SvCUR" could no longer
   be used as previously, and thought that many other modules could be
   prone to the same sort of failure.

   Jan Dubois was surprised as it seemed to him that people shouldn't be
   using "SvCUR" unless "SvPOK" was known to be true. Marc still thought
   it was a regression.

     http://xrl.us/bj2vs

Trying to build perl5.8.3 under Maemo environment (#53328)

   Devendra Purbiya reported a problem with a "getcwd" call failing
   miserably. Sébastien Aperghis-Tramoni suggested that the first thing
   to try would be to use a more modern release, such as 5.8.8 or 5.10.0,
   which may fix the problem due to fixes made since 5.8.3 was released
   (over four years ago).

     http://xrl.us/bj2vu

Error on Configure PERL 5.8.6 on HP platform " pthread:  not found." 
(#53330)

   Alexandra Bacher also reported having problems building a slightly
   more modern perl from source on the HP platform. H.Merijn Brand
   enquired as to whether there was a reason she didn't want to a
   precompiled bundle.

     http://xrl.us/bj2vw

Parse problem in Switch.pm (#53414)

   Another bug report from the module that would not die.

     rrrrr, chainsaw, rrrrrrrrr
     http://xrl.us/bj2vy

Perl5 Bug Summary

   In the second week we saw a welcome decline of 4 tickets, although
   sadly not enough to make up for the difference of 9 new tickets the
   previous week.

     296 + 1524 = 1820 (+11 -2)
     http://xrl.us/bj2v2

     293 + 1523 = 1816 (+6 -10)
     http://xrl.us/bj2v4
     http://rt.perl.org/rt3/NoAuth/perl5/Overview.html

This is the BBC

   Devel::Cover
       Now fixed in 0.64

         http://xrl.us/bj2v6

New Core Modules

   Compress::Zlib, IO::Compress::*
       Paul Marquess synched blead with the latest compression modules
       available on CPAN.

         2.009
         http://xrl.us/bj2v8

   Math::BigInt
       Tels released v1.89, closing out 4 tickets in the process.

         http://xrl.us/bj2wa

   Win32
       Jan Dubois uploaded 0.36 to CPAN, and Steve Hay synched it with
       blead. Not much more than a few tweaks to make it behave nicely
       when compiled in 64-bit land.

         http://xrl.us/bj2wc

In Brief

   Reini Urban found the time to figure out Tels's sins with
   "Devel::Size" and bleadperl, and wrote a patch to fix it up.

     all part of the service
     http://xrl.us/bj2we

   Brian Greenfield announced that he had taken up smoking.

     http://xrl.us/bj2wg

   Reini Urban updated the Perl 5 wiki with a summary of hints for
   distributors wishing to distribute Perl with their operating system.

     comments welcome
     http://xrl.us/bj2wi

   Dave Mitchell wanted to know if it there was anything preventing the
   inclusion of "Test::Harness" 3.x in maint-5.10.x. Andy Armstrong
   thought it would be fine.

     and there was colour!
     http://xrl.us/bj2wk

   Aschwin van der Woude cross-posted a question from an spctools mailing
   list regarding a tpp_gui.pl forking problem. Tels wondered if the
   problem was due to /dev/null missing inside a "chroot" jail.

     http://xrl.us/bj2wn

   Adriano Ferreira synched blead with the ongoing developments of
   "Pod::Perldoc".

     http://xrl.us/bj2wp

   Robin Barker had another go at "[[:print:]]" *versus* "\p{Print}" that
   Rafael liked sufficiently to accept. (Bug #49302).

     documents and tests
     http://xrl.us/bj2wr

   Paul Fenwick wanted to know if he could use "%^H" in Perl 5.8.x,
   especially the upcoming 5.8.9. Nicholas Clark said no, and that it was
   unlikely that the 5.8 track would ever be able to.

     time to let go
     http://xrl.us/bj2wt

   Rafael applied a patch for perl5db.pl to get the forked debugger to
   work on Linux/Cygwin and reverted it after noticing it caused a
   failure in perl5db.t.

     back to the drawing board
     http://xrl.us/bj2wv

   Bram documented "perlrun -x".

     see bug #46369
     http://xrl.us/bj2wx

Last week's summary

     6-12 April 2008
     http://xrl.us/bj2wz

About this summary

   This summary was written by David Landgren.

   Weekly summaries are published on http://use.perl.org/ and posted on a
   mailing list, (subscription: perl5-summary-subscribe@perl.org). 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 or attending a YAPC to help support the development of
   Perl.




nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About