This Week on perl5-porters - 9-15 January 2006 Now 5.8.8 is closer and porters give the final touches and wait on smoke signs. Issues in blead are being worked out, preparing for 5.9.3 as well.
Cygwin "Configure" Fix H. Merijn Brand applied one between two candidate patches by Yitzchak Scott-Thoennes to fix Configure on Cygwin. http://xrl.us/jnt2 Dual-life "threads::shared" The last summary mentioned how Dave Mitchell's work on threads and shared variables improved speed while also closing RT ticket #37946. Nicholas Clark suggested the changes were packaged into a CPAN module, allowing people to try it without the need to hastily release the changes with 5.8.8. http://xrl.us/jnt3 Less code to "warn" Nicholas Clark did (in change #26787) a refactoring on "S_vdie_common" so that "Perl_vwarn" can use it too. http://xrl.us/jnt4 Locating/Fixing Regex Engine Bugs About ticket #38133 on a bug with quantified groups, Hugo van der Sanden layed out the process to fix a bug in the scary regex engine, followed by the conclusion that it must be a while until someone skilled find the time to initiate the process. http://xrl.us/jnt5 One List for All Arenas In response to Jim Cromie reposting the patch to unify all arenas, Nicholas Clark suggested to wait until after 5.9.3 but Rafael Garcia-Suarez has the ultimate word. http://xrl.us/jnt6 perl593delta Review Continued For perl593delta review, Nicholas Clark reminded the Sadahiro Tomoyuki's XS-assisted "swashget" and Steve Hay followed with a list of the stuff he was involved in. http://xrl.us/jnt7 Towards 5.9.3 Yitzchak Scott-Thoennes made a little change to t/TEST to get rid of some 'FAILED--unexpected ouput'. relaxing TEST restrictions http://xrl.us/jnt8 Gisle Aas, Rafael Garcia-Suarez, Yitzchak and Jim Cromie went on discussing how to identify compiled snapshots versus releases. http://xrl.us/jnt9 Squashing Format Warnings Jarkko Hietaniemi posted a patch to silence some format warnings in blead seen in Tru64 and due to certain assumptions about types and appropriate formats. Gisle Aas and Robin Barker had some comments about it. http://xrl.us/jnua mod_perl 2 broken Philip M. Gollucci wrote to say building mod_perl 2 against blead on FreeBSD does not work since August. Prodded by Stas Bekman, Philip produced a small program to reproduce the issue, which Stas thought Philip could reduce even more using his familiarity with mod_perl code. http://xrl.us/jnub Philip M. Gollucci forwarded a workaround to build MP2 on alpha platform from the modperl dev list. http://xrl.us/jnuc Syncing "Pod::Simple" Allison Randal called for a diff of all the changes that made into the core version of "Pod::Simple" and this week she sync'ed the CPAN version, reaching release 3.04. http://xrl.us/jnud 3-argument "open" and IO Layers Answering ticket #38181, Sadahiro Tomoyuki noticed the issue with default IO layers ignored in 3-argument "open" calls was recently resolved in blead and sent a patch to assure the "-C" switch was mentioned in related docs. http://xrl.us/jnue More about embed.fnc Jim Cromie added a few more lines to improve info about embed.fnc in pod/perlguts.pod. Applied as change #26756. http://xrl.us/jnuf "POSIX" vs "Fcntl" Andreas Koenig reported what he thought to be unexpected warnings when requiring Expect.pm. Nicholas Clark answered that the "redefined" warnings were correct, as constant subroutines were redefined indeed. But it was not due to "Expect" but rather to "POSIX" and "Fcntl" exporting subroutines with the same name. Nicholas proposed a patch so that "POSIX" use "Fcntl" to get the common values. Rafael Garcia-Suarez thought it looked good as it ended an error that puzzled many developers, even though it adds to "POSIX" a dependency, which appears to be harmless. http://xrl.us/jnug *maint* on VMS Abe Timmerman brought the results of tests againts [EMAIL PROTECTED] on VMS, which succeeds in 98.79% of test scripts. http://xrl.us/jnuh threads + "require IO" Dave Mitchell commented on ticket #37076 about segfaults by mixing threads and "require IO". The guilty part is "newCONSTSUB()" which isn't threadsafe. http://xrl.us/jnui Stalled perlcc Glancing at tickets #37488 and #37491 about bugs in perlcc, Dave Mitchel advised that this is no longer actively maintained, which means bugs are unlikely to be fixed. http://xrl.us/jnuj http://xrl.us/jnuk Empty Strings as "select" Bitmasks Nicholas Clark confirmed the patch by Gisle Aas to allow "" as select bitmasks is in perl-5.8.8. http://xrl.us/jnum Where is Digest/SHA.pm? Jim Cromie noticed a failure to locate Digest/SHA.pm after resync'ing, which suggested problems in change 26704 which added SHA-256 support for CPAN. It turned out to be fixed by running Configure again, but Yitzchak Scott-Thoennes reminded new extensions need to be manually added to the win32 makefiles for "distclean" to work right. Rafael Garcia-Suarez committed change #26758 to solve this case. http://xrl.us/jnun Agnostic "Compress::Zlib" Paul Marquess brought in a major patch of "Compresss::Zlib" against blead, with the previosly announced rewrite to support other compression formats. Porters agreed that, as 5.9.3 will wait until 5.8.8 and blead issues are worked out, "C::Z" would probably get enough days of smoke. http://xrl.us/jnuo *maint* snapshot Nicholas Clark did a lot more patch integration stuff and made a maint snapshot "[EMAIL PROTECTED]". http://xrl.us/jnup perlhack.pod and "POPSTACK" Jan Dubois noted the little bit about "POPSTACK" in perlhack.pod is wrong and called for someone qualified to write a description about the "stack of stacks" concept. http://xrl.us/jnuq "Sys::Syslog" 0.12 and 0.13 After Sébastien Aperghis-Tramoni announced "Sys::Sylog" reached release 0.12, Alan Burlison noticed it was broken on Solaris and other platforms. Alan, Rafael Garcia-Suarez, Nicholas Clark and Gisle Aas investigated and patched the issues. Sébastien merged the changes back to CPAN version and released 0.13 http://xrl.us/jnur Andy Lester's Stuff As a compliment to his daughter's purple Barbie bus, Andy Lester coined a name for his last patch on his continued effort to improve code with regard to correctness and cleanliness. http://xrl.us/jnus Andy also inquired why this kind of code is used throughout if (ckWARN(WARN_MISC)) Perl_warner(aTHX_ packWARN(WARN_MISC), WARNING_MESSAGE); instead of something like Perl_warn_maybe( aTHX_ WARN_MISC, WARNING_MESSAGE ); http://xrl.us/jnut Who wants "setlocale(LC_ALL,"")"? Andrew Dunstan opened RT ticket #38193 to tell how an embedded perl interpreter always starts by calling "setlocale(LC_ALL,"")". But that's not an all-satisfying solution for every application and he called for a way to give more flexibility to avoid unintented effects on character data. http://xrl.us/jnuu $0 Assignment when Embedding Gisle Aas noticed that, when embedding perl, the default behaviour of $0 assignments writing to the memory of "argv[0]" and calling "setproctitle()" is hardly the expected action. It can cause segfaults and hide the host application from ps for example. Gisle posted a patch to allow disabling such behavior and is still waiting for comments. http://xrl.us/jnuv A Constant Challenge Dave Mitchell pointed consting work waiting to be done is changing "C?OP*" usage to "const C?OP*", to prevent code which messes with the fields of an OP. OPs are shared between threads which makes a bad idea to fuss around with them. http://xrl.us/jnuw Perl on HP-UX 11.23 H. Merijn Brand spent some time preparing a rx1620 dual Itanium to see what Perl builds are looking like in such architecture. Merijn discovered that, to use HP C-ANSI-C compiler, one needs to drop optimizing to -O1 for a range of this compiler family on HP-UX 11.23. All tests passed on both perl-5.8.x-dor:26763 and perl-current:26768, 32 and 64bit, but not threads. Next step is smokes on this box. http://xrl.us/jnux coderefs in regexes Yves Orton wanted to know how to get access to code refs embedded in regexes, so he could teach "Data::Dump::Streamer" to dump them out correctly. Dave Mitchell revealed coderefs in regexes are some sort of abomination more like evals than proper closures. There is a plan to get them right, but not yet. http://xrl.us/jnuy "version" 0.53 John Peacock uploaded "version" 0.53 to CPAN and brought the corresponding patch to bleed. http://xrl.us/jnuz Bad Locales on Mac OS X Dominic Dunlop found that the release of Mac OS X 10.4.4 still has broken Catalan locales, which defeated the optimistical assumption that the problem would be fixed by now, and posted a patch to skip the bad locales once again. Bad locales in Sep 2005 http://xrl.us/jnu2 Bad locales in Nov 2005 http://xrl.us/jnu3 Bad locales enter 2006 http://xrl.us/jnu4 Fix for ":crlf" Xavier Noria noticed the ":crlf" layer in PerlIO was not portable as suggested in its documentation when it comes to support Mac text files conventions and proposed a patch to fix this (applied as change 26796). http://xrl.us/jnu5 One less Typo in perlfaq8 On bug #38205, erik noticed a typo at perlfaq8, promptly patched as change #26802 in blead. http://xrl.us/jnu6 cloning and "foo_dup" functions Looking at the cloning code at perlio.c, Yitzchak Scott-Thoennes found a spot in *_dup functions which was probably wrong and suggested a fix, seconded by Gisle Aas and Rafael Garcia-Suarez which applied it as change #26799. http://xrl.us/jnu7 "PERL_UNUSED_DECL" redefined While building "Digest::SHA", Yitzchak Scott-Thoennes noticed a warning about redefining "PERL_UNUSED_DECL". It was fixed by copying a newer ppport.h (any of the 3 others under ext/), which remembered Rafael Garcia-Suarez of an old idea to compile "Devel::PPPort" first and use its ppport.h everywhere. http://xrl.us/jnu8 Broken "local($[) = 0" In RT ticket #38207, David Dyck reported a "Useless localization of constant" in getopts.pl: "local($[) = 0;", that led Rafael Garcia-Suarez to the conclusion that something changed in blead that broke the special case handling of "local $[" supported for perl 4 compatibility. http://xrl.us/jnu9 "Compress::Zlib" Fights Smokes And Paul Marquess brought another fix to "Compress::Zlib" trying to shut up an intermittent failure which keeps showing up on the smokes. Applied as change #26800. http://xrl.us/jnva "DB_File" and Berkeley DB 4.4 Jeff Earickson opened ticket #38213 to say about a failure testing "DB_File" against Berkeley DB 4.4.16. Paul Marquess explained 5.8.8 already allows "DB_File" to build with db 4.4 and the the most recent CPAN version had this support. http://xrl.us/jnvb pack/unpack for struct flock Brendan O'Dea noticed how tricky is to portably use "Fcntl" locking and proposed a patch with a function to pack/unpack "flock" structures. Warnocked so far. http://xrl.us/jnvc David Landgren Fights Indirect Notation This week, David Landgren started a crusade to remove indirect notation examples from POD all over the core modules. He started with "IO::File" and "IO::??" While on this, Jim Cromie had suggestions for some improvements/additions to docs, which were absorbed. chromatic welcomed David's campaign. And then, David went on to apply this to "IO::Pipe" and "IO::Handle" together with some sundry cleanups. The no-indirect-notation campaign boils down to this: instead of writing $fh = new IO::File; which is considered bad practice in some circles, the following is preferrable: $fh = IO::File->new; David Landgren tidies up IO::* modules http://xrl.us/jnvd saving the regexp state Nicholas Clark wondered about a piece code in Perl_save_re_context and brainstormed on how to make saving/restoring regexp states with less computational effort. Hugo van der Sanden and Abhijit Menon-Sen essayed some clues. http://xrl.us/jnve Dual life module versions Nicholas Clark did a check to find dual-life modules which differ between maint and 5.8.7, but have the same version. This prompted Marcus Holland-Moritz to explain about "Devel::PPPort" releases, which led Nicholas to integrate 3.06_01 to blead. Jan Dubois also explained about the status of "Win32" and some plans for future releases. http://xrl.us/jnvf Perl on MPE/iX Ken Hirsch brought some patches which *only* affect MPE/iX platform. http://xrl.us/jnvg "B::Deparse" Chokes in 5.8.0 Lionel Cons, in bug #38214, showed how perl 5.8.0 dislikes a simple assignment with split via "B::Deparse". $ perl -MO=Deparse -e '@ARGV = split(//, "");' Can't call method "isa" without a package ... Joshua ben Jore and Paul Johnson helped Lionel to find this is a bug with 5.8.0-threads and that upgrading is the key. http://xrl.us/jnvh Linux Issue about "ioctl" Charles Howes opened ticket #38223 to tell of a memory corruption error on a formerly valid code using "ioctl" after a Linux core upgrade. Gisle Aas tracked it down to change #25852 and a probable glibc issue with "_IOC_SIZE", which called for a fix anyway. Trusting _IOC_SIZE (Oct 2005) http://xrl.us/jnvi Suspecting _IOC_SIZE http://xrl.us/jnvj Threads and PIDs on Linux Nicholas Clark tried to remember some binary compatibility issues with threads and PIDs on Linux due to a change made some time ago. Jason Vas Dias and Elizabeth Mattijsen know what it was about. Rafael Garcia-Suarez said the CPAN module "Linux::PID" had the necessary workarounds. http://xrl.us/jnvk Deprecated "my $v if 0" And "fany" opened yet another ticket, #38224, about the weird deprecated usage of "my $foo if 0". Not that he should have known, but this is almost a FAQ by now. http://xrl.us/jnvm Ticket #38224 http://xrl.us/jnvn Perl 5.8.8's perldelta The list of significant changes in Perl 5.8.8, perldelta evolved since its first draft posted by Nicholas through lots of feedback. http://xrl.us/jnvo "CPAN" 1.83_55 CPAN reached 1.83_55 and Andreas Koenig resynced it into bleadperl, as change #26858. http://xrl.us/jnvp Updated README.macosx A bunch of MacOSX-wise people contributed for the update of README.macosx. http://xrl.us/jnvq "Encode" 2.14 Dan Kogai brought "Encode" release 2.14 into blead. http://xrl.us/jnvr size of perl Nicholas Clark compared the size of perl binaries between 5.9.2 and blead, with the late being the actual winner. Despite several new features, the space optimizing efforts of porters, especially Nicholas, Dave Mitchell, Steve Peters and Andy Lester, outdid them. The same outcome is expected with respect to 5.8.8 against 5.8.7. http://xrl.us/jnvs Perl5 Bug Summary Perl RT had a count of 1510 open tickets at January 16. Robert Spier's summaries http://xrl.us/jnvt Perl RT just now http://rt.perl.org/rt3/NoAuth/perl5/Overview.html About this summary I am terribly sorry about how late this summary is. I was currently trapped at $job and personal affairs which demanded my attention. This summary was written by Adriano Rodrigues Ferreira. 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 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 or enjoyable, please consider contributing to the Perl Foundation to help support the development of Perl.