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.