develooper Front page | perl.perl5.porters | Postings from March 2006

This Week on perl5-porters (13-19 March 2006)

Thread Next
From:
David Landgren
Date:
March 23, 2006 07:11
Subject:
This Week on perl5-porters (13-19 March 2006)
Message ID:
4422BA99.7020907@landgren.net
This Week on perl5-porters - 13-19 March 2006

   On the move -- "Module::Build" moving into core -- Perl core moving
   around the file system -- Threads moving onto CPAN -- plus the usual
   assortment of bug reports, patches and new ideas.

Topics of Interest

Support for relocating @INC

   Nicholas Clark delivered the functionality to make @INC relocatable.
   This means you can now build Perl, install some modules from CPAN,
   take the whole directory tree and move it elsewhere and things
   continue to work. Andy Dougherty wondered how Nicholas had dealt with
   the shared libperl.so file.

   The answer is that there isn't much that can be done in the general
   case, although some platforms, like Solaris, make the issues easier to
   deal with. In other words, Nicholas has done about as much as can be
   done. Now for testing and feedback.

     A movable feast
     http://xrl.us/ki3w

Overridable filetest operators (continued)

   Salvador Fandio continued to look at the problem of overriding "stat",
   which was now a question of how to deal with the ";$" prototype
   correctly. Rafael didn't want anything to be changed at this late
   stage of the game, and instead suggested two new prototypes, "^$" and
   "^*".

   In this scenario, "stat" would have the latter prototype. (The "^" is
   loosely based on a concept from the Perl TODO list, which is to allow
   prototypes to indicate that the routine defaults to using $_ if no
   argument is passed).

     Prototyping the prototype
     http://xrl.us/ki3x

"Module::Compile" and the ".pmc" file extension

   Audrey Tang wrote to explain her position on what ".pmc" means.
   Surprisingly, this elicited no discussion.

     Nothing to do with Parrot (yet)
     http://xrl.us/ki3y

Advice for "pack" failure needed

   H.Merijn Brand was trying to understand why "gcc" 4.0.3 works, but
   4.1.x doesn't when producing a 64-bit perl for HP-UX 11.00 and 11.11.
   He had stripped a failing test file (pack.t) down to a bare minimum.

   He had gone as far as literally unrolling the code from pp_pack.c into
   straight C using "int"s and "double"s instead of "I32"s, "NV"s and
   "SV"s, but was well and truly stuck (since this resulting code worked
   identically on both compilers).

     What we have here is a failure to pack
     http://xrl.us/ki3z

Move "DynaLoader" into libperl.so

   Gisle Aas has problems with applications that wish to instantiate an
   embedded perl interpreter. This is due to the fact that "Dynaloader"
   is compiled statically into the perl stub executable. He wanted to
   move things around a bit so that part of "DynaLoader" is, well, loaded
   dynamically.

   So far, no complaints.

     Pulling yourself up by the bootstraps
     http://xrl.us/ki32

"Useless localization of substr" warning messages

   Hugo van der Sanden was puzzled by new "useless localization of
   substr" that "blead" was now issuing, and wondered what to do about
   it. Again, no takers.

     What's the use?
     http://xrl.us/ki33

Patches of Interest

"Term::ReadKey"/"Term::ReadLine" on Windows

   Johnathon Stowe produced a patch to fix up the
   "Term::ReadKey"/"Term::ReadLine" bug on the "Win32" platform.

     http://xrl.us/ki34

VMS-specific "arg_defines" for "ExtUtils::CBuilder"

   Craig A. Berry sent in a patch for "ExtUtils::CBuilder" to deal with
   the requirements of compiling extensions in C on VMS. Ken Williams,
   the maintainer, took the patch under his wing and asked if there was a
   test case that could expose this problem, should it ever arise in the
   future.

   John E. Malmberg tweaked Craig's patch to work around a couple of
   other issues he encountered. In fact John sent in a steady stream of
   patches for VMS this week. See the In Brief section to catch them all.

     http://xrl.us/ki35

A bit more "Module::Build" help for VMS

   Craig then added a patch to help get more of "Module::Build"'s test
   suite to pass. John received some strange errors that left him
   puzzled.

     http://xrl.us/ki36

SPAGAIN in the poor-man's-multicall API

   Robin Houston fixed up multicall.h (in "List::Util") to deal with the
   problem that Tassilo von Parseval had encountered in bug #38644 (a
   missing "SPAGAIN" macro call). Rafael applied the patch to "blead" as
   change #27486, noting that Graham Barr will have to apply the change
   to his own repository of "List::Util" as well.

     http://xrl.us/ki37

Sundry fixes from Jan Dubois for "Win32"

   Jan Dubois realised that some of the work he did to make "alarm" work
   on Windows 2003 could cause perl go into an infinite loop. He sent in
   a patch to restore the correct behaviour, and in the process of
   investigating found another small problem that also needed fixing.

     win32_async_check() fixed
     http://xrl.us/ki38

     win32_plclose() fixed
     http://xrl.us/ki39

Allocating op-codes from arenas

   Jim Cromie landed a first version of patch that would allow op-codes
   to be allocated from arenas (following on from the discussion last
   week with Nicholas Clark). There were, nonetheless, a number of issues
   that will have to be worked through. For instance, it has a nasty
   tendency to segfault. People were still digesting the patch at summary
   time.

     http://xrl.us/ki4a

The continuing story of Andy Lester's quest to "const"

   *   Made "S_looks_like_bool"'s argument "const"...

         http://xrl.us/ki4b

   *   Taught some of the new MAD code preprocessor tricks to keep "gcc"
       quiet.

         http://xrl.us/ki4c

   *   Redundant boolean checks removed, some "goto"'s for speed and
       sundry "const"s in regexec.c. Dave Mitchell surfaced briefly to
       mention that he's in the middle of reworking "S_regmatch" (*and
       the crowd goes wild*) and asked for this patch to be kept on ice.

       Hugo noticed that Andy's work highlighted the underlying
       similarities in three sections of the code, and that all should be
       hoisted out into a subordinate function or macro.

         http://xrl.us/ki4d

   *   Changed the semantics of "S_isa_lookup". Andy noticed that this
       function (in "universal.c") returned pointers to "PL_sv_yes" and
       "PL_sv_no" simply to indicate truth. So he changed it to return
       "TRUE" or "FALSE".

         http://xrl.us/ki4e

   *   Cleanups in op.c

         http://xrl.us/ki4f

   *   Random consting in "Data::Dumper".

         Not random, merely chaotic
         http://xrl.us/ki4g

   *   And changed some @ISA definitions to work correctly under "use
       strict", such as "@ISA = (Exporter)" becoming "@ISA =
       qw(Exporter)".

         http://xrl.us/ki4h

New and old bugs from RT

overload and rebless (#34925)

   Nicholas Clark returned to a bug from last year (which I cannot find
   again on Xray) dealing with re"bless"ing an object in an overloaded
   class, and proposed three ways of fixing it, One of them was probably
   only suitable for "blead", and thus 5.10, but two other avenues showed
   more promise. This is apparently a big issue for "Class::DBI".

   Nicholas then wrote a patch to implement one of the safer approaches,
   and if the time it takes to run the test suite is any guide, the
   performance difference is pretty much lost in the noise.

     http://xrl.us/ki4i

     The original Perlbug (authentication required)
     http://rt.perl.org/rt3/Ticket/Display.html?id=34925

Debugger Loses Names for Anonymous Subroutines (#38673 update)

   chromatic returned to his own bug report, and discovered that by
   deleting a swath of code in op.c he was able to make it work to his
   satisfaction, even though he felt slightly uneasy about doing do.

   Rafael Garcia-Suarez didn't think much of the idea either and
   explained a better way of fixing it. He thought it should be feasible
   to patch the debugger only, the only trouble is that patching the
   debugger is even more scary.

   Another important issue for Rafael is the poor state of $^P (a.k.a
   $PERLDB) in the "perlvar" documentation. Someone needs to explain
   *why* you would want to diddle the bits, and what happens when you do.

   Nicholas Clark admitted to having seen weird thing occurring deep down
   in the depths of "CV"s, "GV"s and stashes, but had never been able to
   adequately explain why.

     Shades of Moria
     http://xrl.us/ki4j

"SvPOK" breaks magic in 5.8.5 and beyond (#38707)

   Zowie noted that "SvPOK" breaks code in "PDL", specifically, when
   looking at things like "$#$arrayref".

     http://xrl.us/ki4k

perl 5.8.8 make fails at dynaloader (#38687)

   Dominic Dunlop reproduced the symptoms demonstrated by Andy Ford in
   the initial bug report by touch(1)ing the Makefile so that an empty
   file was created. He suggested that Andy delete the directory, make
   sure there was sufficient free disk space, and start the build again.

     If problems persist, consult your doctor in the morning
     http://xrl.us/ki4m

"local"ised stash slices are fixed (#38710)

   To recap:

     local $::{"func"} = sub { "func" };

   worked, but

     local @::{qw/ func1 func2 /} = (sub { "func1" }, sub { "func2" });

   ... did not. Now it does, thanks to a patch for pp.c from Rick
   Delaney.

     http://xrl.us/ki4n

"Perl_utf8n_to_uvuni" decodes illegal characters (#38722)

   John Gardiner Myers uncovered a discrepancy between what
   "Perl_utf8n_to_uvuni" decodes (that is to say, Unicode characters) and
   what "Perl_uvuni_to_utf8_flags" considers illegal, and provides a
   short snippet of code to demonstrate the problem. No takers as yet.

     http://xrl.us/ki4o

Backticks don't work in Win32 multi-threaded perl (#38723)

   Krzysztof Koczyjan filed a bug that showed how "fork" and backticks
   don't work on the Win32 platform. He traced the problem to the routine
   "win32_popen", which is apparently not thread-safe. He then recompiled
   perl with "-DUSE_RTL_POPEN" and saw that that fixes the problem.

     http://xrl.us/ki4p

"syslog-ng" inappropriately expects "\n" (and "\0"?) in "syslog" 
messages  (#28019)

   Julian Mehnle was chasing down a bug in Debian-land concerning their
   "libmail-spf-query-perl" package, and stumbled over the changes made
   to "Sys::Syslog" after the "Webmin" flap. The issue was that the
   module no longer appended a "\n" to the logged message, and
   "syslog-ng" was running lines together.

   S├ębastien Aperghis-Tramoni, the maintainer of "Sys::Syslog". explained
   that the current state of affairs was more due to work-arounds for
   broken commercial Unix "syslog" implementations, and that the RFCs
   surrounding these are sadly only informational, and do not mandate a
   specific way of doing things.

     http://xrl.us/ki4q

Poor example for $^V in "perlvar" (#38743)

   Nicholas Clark thought that the documentation example in "perlvar"
   concerning $^V (perl version) was rather stupid, and hoped someone
   could come up with a better idea. Dave Mitchell came up with a very
   clever example that dealt with the hash key randomisation work that
   went into perl 5.8.1.

     Clues you can use
     http://xrl.us/ki4r

Undetectable, incompatible API changes in "POPpx", etc. (#38744)

   John Gardiner Myers sent in a scathing bug report concerning changes
   to the "POPpx" macro, which broke his code when running on 5.8.8.

   Nicholas Clark replied that no-one who watched the commit go past
   realised the subtle change in behaviour, nor did anyone pick it up in
   any of the maintenance snapshots in the three months that followed the
   change. Similarly, the bug was not caught by anyone who built the
   release candidate running up to the official 5.8.8 release.

     The importance of testing
     http://xrl.us/ki4s

Segmentation fault in generating Config.pm (#38745)

   Derek Chen was having trouble building perl on an embedded Linux
   system running on an ARM processor. Dominic Dunlop wondered whether
   this could be related to bug #38913, and wanted to know whether
   previous versions of perl had been built successfully on the platform,
   or if this was the first time. The next thing to try is to build an
   unoptimised "miniperl".

     http://xrl.us/ki4t

     Follow-ups in a detached thread
     http://xrl.us/ki4u

threads.xs broken under "PERL_IMPLICIT_SYS"; 5.8.8 regression

   Jan Dubois sent a patch (for the third time) to free the perl
   interpreter structure after the threads structure. The latest changes
   to threads.xs broke this again.

   Tels asked for better documentation in the code, and new tests in test
   suite to ensure that the problem doesn't come back a fourth time.

   Jerry Hedden picked up the patch and reworked it slightly. His plan is
   to get some feedback from CPAN testers before getting it folded back
   into "blead".

     http://xrl.us/ki4v

"qx" loses "/dev/tty" (#38748)

   "ende" had a "Tcl" script hooked up to a perl program running as a
   daemon which wasn't working. But the equivalent daemon written in
   shell worked correctly. Dominic Dunlop thought that there might be
   problems with the program if it really *was* a daemon, because in that
   case it would have no controlling terminal and thus no "/dev/tty".

     http://xrl.us/ki4w

Perl5 Bug Summary

     1556 tickets
     http://xrl.us/ki4x

     Summarised here
     http://rt.perl.org/rt3/NoAuth/perl5/Overview.html

New Core Modules

   *   "ExtUtils::CBuilder" version 0.17 uploaded Ken Williams (based on
       the thread concerning VMS. See above).

         http://xrl.us/ki4y

   *   "Module::Build" version 0.27_09, also from Ken.

         http://xrl.us/ki4z

   *   "threads" version 1.09 uploaded by Jerry D. Hedden.

         http://xrl.us/ki42

       He also sent in a patch to sync "blead" with the current versions
       of "threads" and "threads::shared".

         threads 1.12
         http://xrl.us/ki43

         threads::shared 0.99
         http://xrl.us/ki44

In Brief

   John E. Malmberg reported at the beginning of the week that 13 test
   scripts (of 1140 total) were still generating failures on VMS.

     threads and VMS (redux)
     http://xrl.us/ki45

   He tweaked thread.h to give threads on VMS a bit more stack space.

     http://xrl.us/ki46

   And some buffer size fixes for vms.c

     http://xrl.us/ki47

   And "utime" (I think I need a what "What John did" section).

     http://xrl.us/ki48

   Peter Prymmer filed a small patch to fix "Pod::Simple" on "blead" so
   that it works on VMS ODS-2. (Which I understand to be an older
   file-system for VMS, the current being ODS-5).

     http://xrl.us/ki49

   Paul Marquess sent in a patch to synch "blead" with the CPAN versions
   of "Compress::Raw::Zlib", "Compress::Zlib" and "IO::Compress::Zlib".

     http://xrl.us/ki5a

   Someone noted (in bug #34981) that binding "STDIN" to "scalar" hides
   fd 0 forever. I'm not quite sure what they mean by that.

     http://xrl.us/ki5b

   Randy W. Sims nailed an uninitialised value in "Archive::Tar".

     http://xrl.us/ki5c

About this summary

   There was some feedback from Marcus Holland-Moritz on last week's
   summary concerning the issue of "DEBUG_LEAKING_SCALARS".

     http://xrl.us/ki5d

   This summary was written by David Landgren.

   Information concerning bugs referenced in this summary (as #nnnnn) may
   be viewed at http://rt.perl.org/rt3/Ticket/Display.html?id=nnnnn

   Information concerning patches to "maint" or "blead" referenced in
   this summary (as #nnnnn) may be viewed at
   http://public.activestate.com/cgi-bin/perlbrowse?patch=nnnnn

   If you want a bookmarklet approach to viewing bugs and change reports,
   there are a couple of bookmarklets that you might find useful on my
   page of Perl stuff:

     http://www.landgren.net/perl/

   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 or enjoyable, 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."



Thread Next


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